我有一个包含多个 Controller 的 UITabbar
。其中一个 Controller 用于向 Core Data 添加事件,而另一个 Controller 用于显示事件,就像在使用 NSFetchedResultsController
的 UITableView 中一样。
这是我想要实现的行为:
消失后,UITableView 停止更新,当用户回来时,整个 TableView 将重新加载。否则,从另一个 Controller 插入事件需要更长的时间,因为在 UITableView
中创建了新行,即使它是不可见的。
我想知道如何才能实现这种行为,因为它似乎并没有像我预期的那样工作:
我在 viewWillDisappear
中将 NSFetchedResultsController 的委托(delegate)设置为 nil,并在 viewWillAppear
中恢复它,同时调用 [UITableView reloadData]
;
不知何故,我没有看到新数据,并且怀疑这是由于 NSFetchedResultsController 在没有委托(delegate)的情况下停止获取的方式。
如何在 UITableView
消失时正确地“暂停”更新,但在 Controller 重新出现时仍然能够看到整个数据集?
最佳答案
尝试将 performFetch:
发送到 viewWillAppear:
中的 NSFetchedResultsController
,然后将其委托(delegate)设置回 self
.
关于iphone - 当 Controller 消失时,如何防止 NSFetchedResultsController 更新 tableview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13187126/