2010-06-01 44 views
0

我有一个应用程序与几个UITableViewControllers。 现在,用户可以更改“数据源”。在这种情况下,我需要使相关UITableViews中的数据无效(重置)。无效的UITableView内容

我想通了,我可以使用NSNotificationCenter并将这些控制器作为观察者添加到数据源更改时将生成的事件中。

问题是,我该如何重置基础表?当然,我可以设置一些布尔标志,然后在viewWillAppear或viewDidAppear中调用UITableView:reloadData,但是我想知道是否有更干净的方法。

或者我完全忽略了这一点,而且我完全不需要NSNotificationCenter。 非常感谢您提前。

回答

0

问题是,如何重置 基础表?我当然可以设置一些布尔标志

我不知道为什么你需要在这里使用一个标志。当你的视图控制器获取通知时,让它重新加载通知处理程序中的表。

如果您的UITableView连接到NSFetchedResultsController,更新您的表格将有点不同。是吗?

+0

尽管这是一种可能性,但我排除了这一点,因为数据加载是一项昂贵的操作,我只想按需执行,即当用户输入此视图时。由于用户更改数据源而使多个表重新加载其数据的成本太高。用户可能根本没有访问该视图。 – Roman 2010-06-01 18:21:55

+0

然后重新加载viewWillAppear。 – 2010-06-01 18:30:31

+0

基于一个标志,就像我最初的建议? :( – Roman 2010-06-01 18:57:29