我的应用程序有一个标签视图控制器作为主要访问点.但是,当它第一次运行时,我需要检查一些基本数据,如果缺少,我需要先显示一个视图来捕获这些信息.选项卡视图中的表使用此信息显示数据.
我这样做的方式是这样的:在我的app-delegate中,我显示了标签视图.然后检查信息x.如果不存在,请添加子视图2并将其显示在顶部.在view2中,我捕获信息,然后单击按钮将其从superview中删除.所需数据存储在模型中的全局变量中.现在,控件返回到显示它的选项卡视图.问题是我需要在选项卡视图中重新加载表数据,以便它反映正确的信息.但是,我无法在父标签视图中捕获此内容.因此,我可以刷新的唯一方法是手动点击按钮,这是不理想的.我希望它从子堆栈中删除子视图后立即自动刷新.
注册和呼叫通知是最佳选择.
对于要发送通知的视图:
- (void) viewDidLoad {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateView:) name:@"updateView" object:nil];
}
- (void)updateView:(NSNotification *)notification {
/* this is where the updates will take place,
such as a [tableView reloadData];
*/
}
Run Code Online (Sandbox Code Playgroud)
并致电该通知:
[[NSNotificationCenter defaultCenter] postNotificationName:@"updateView" object:nil];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |