我搜索了很多,但没有找到有用的代码或教程。
在我的应用程序中,我有一个可变数组,它每60秒更新一次。
数组中的对象由多个视图控制器中的表视图显示。
仅当数组中的值更改或更新时,我希望自动重新加载表视图。
为此,我想在可变数组上添加observer,即当数组中的值发生变化时,它应该调用一个特定的方法,例如
-(void)ArrayUpdatedNotification:(NSMutableArray*)array
{
//Reload table or do something
}
提前谢谢。
最佳答案
可以做的是-更新阵列后发送一个通知(nsnotificationcenter),所有控制器都将收到此通知。收到通知后,控制器应执行[TableView ReloadData]。
代码示例:
// Adding an observer
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateTable:) name:@"arrayUpdated" object:nil];
// Post a notification
[[NSNotificationCenter defaultCenter] postNotificationName:@"arrayUpdated" object:nil];
// the void function, specified in the same class where the Notification addObserver method has defined
- (void)updateTable:(NSNotification *)note {
[tableView reloadData];
}
关于objective-c - 如何在NSMutableArray上添加观察者?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15612553/