我有一个 UINavigationController 用户可以返回/第四次。当用户返回时,我希望 UIView 重新加载。(我实际上使用的是OHGridView)。在我的ViewWillDisappear
,我做这样的事情:
- (void)viewWillDisappear:(BOOL)animated {
[[NSNotificationCenter defaultCenter] postNotificationName:@"ReloadOHGridView" object:self];
}
所以当他们返回时,它会向 OHGridView 发送一个 NSNotification 来刷新它的数据。它被调用,但它得到一个错误Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[DetailViewController reloadData]: unrecognized selector sent to instance 0x4b9e9f0
以下是我设置 NSNotificationCenter 的方式(在我的 DetailViewController 中):
- (void)viewDidLoad {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ReloadGridNotification:) name:@"ReloadOHGridView" object:nil];
}
- (void)ReloadGridNotification:(NSNotification *)notification{
[database executeNonQuery:@"DELETE * FROM images"];
[items removeAllObjects];
[self reloadData];
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
现在你会认为它会更新,但我得到了那个错误......请帮忙!
库尔顿