1

我已经实现了一个基于导航的视图控制器,其中包含多个视图和一个模型。

现在我通过界面生成器将我的导航控制器添加到标签栏。(只是把整个一堆拖进去)。它奏效了,我有一个新标签,里面有我所有的观点。

但现在我想再次将完全相同的导航视图控制器添加到另一个选项卡。我也可以这样做,问题是,当我删除表格视图中的条目时,该条目在另一个选项卡中仍然可见。

因此,当我切换选项卡时,我需要一种更新模型的方法。

更新:

addObserverRootViewController包含表格视图中添加了。我将它放在“视图确实加载”中,即我的删除方法中的 postNotification 中。没有编译错误,而且表也不会相互更新。

我上传了我的项目,也许你可以看看?:

http://www.perry-paul.de/unternehmenf.zip

4

1 回答 1

2

一种方法是使用NSNotifications.

当您加载包含 tableView 的视图控制器时,请使用以下命令注册您的 tableView 以获取通知

[[NSNotificationCenter defaultCenter] addObserver:self.tableView selector:@selector(reloadData) name:@"ModelUpdated" object:nil];

[self.tableView reloadData]每次您发布“ModelUpdated”通知时都会调用这种方式。因此,当您删除条目时,请使用

[[NSNotificationCenter defaultCenter] postNotificationName:@"ModelUpdated" nil];

最后,不要忘记删除通知(通常在viewDidUnload):

[[NSNotificationCenter defaultCenter] removeObserver:self name:"ModelUpdated" object:nil];

NSNotifications有关此问题的更多信息:什么是 NSNotification?

于 2010-12-19T23:26:10.957 回答