我有GridViewController。
@interface GridViewController : UIViewController <AQGridViewDelegate, AQGridViewDataSource, LoginViewControllerDelegate, IconDownloaderDelegate, UIScrollViewDelegate> {
NSArray *objects; //main data model
NSMutableDictionary *imageDownloadsInProgress;
}
@property (nonatomic, retain) IBOutlet AQGridView *gridView;
我需要将reloadData方法调用到gridview。
当我在GridViewController.m(viewDidLoad)中调用[self.gridView reloadData];
时,
它没有任何问题重新加载。
但我需要在AppDelegate.m中调用此方法
所以我在AppDelegate.m中导入“GridViewController.h”
#import "AppDelegate.h"
#import "GridViewController.h"
并调用方法,
[gridViewController.gridView reloadData];
它不起作用。
如何从我的delegate.m中将此方法调用到GridViewController的gridView?
答案 0 :(得分:2)
尝试在AppDelegate中发布GridViewController将捕获的通知。 在AppDelegate.m中,您需要调用网格重新加载代码:
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadGrid" object:nil];
在GridViewController的viewDidLoad中:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadMyGrid)name:@"reloadGrid" object:nil];
在GridViewController的viewDidUnload中:
[[NSNotificationCenter defaultCenter] removeObserver:self];
您需要为GridViewController添加方法:
- (void)reloadMyGrid {
[self.gridView reloadData];
}