2010-12-19 77 views
1

我已经实现了一个基于导航的视图控制器与几个视图和模型。Tabbar具有相同的导航控制器

现在我通过界面生成器将我的导航控制器添加到Tabbar。 (只是把所有的东西拖进去)。它的工作,我有一个新的标签,其中包含我的所有观点。

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

所以当我切换选项卡时,需要更新模型的方法。

更新:

我在RootViewController添加addObserver包含表视图。我把它放在“view did load”中,在我的delete方法中是postNotification。没有编译错误,但表格也不互相更新。

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

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

这样的

回答

2

一种方式是通过使用NSNotifications

当加载包含的tableView您的视图控制器,使用

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

这样[self.tableView reloadData]将被调用每次发布“ModelUpdated”通知时间注册您的tableView的通知。所以,当你删除一个条目,发送使用

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

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

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

更多信息上NSNotifications在这个问题:What is NSNotification?

+0

Hy,thx为您的快速回复。 – Subseven 2010-12-20 01:18:01