iphone - 当 Controller 消失时,如何防止 NSFetchedResultsController 更新 tableview?

标签 iphone objective-c ios core-data nsfetchedresultscontroller

我有一个包含多个 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/

相关文章:

iOS 错误架构 armv7 的 undefined symbol ?

iphone - Xcode 4 中的 ShareKit - 很多已弃用

iphone - 如何创建与iPhone/iPad App交互的Mac/PC服务器应用程序?

ios - Gluon iOS 应用程序交付错误

iphone - 捏合以增大/缩小按钮的大小

ios - 在不在手机上播放媒体的情况下在锁定屏幕中显示 Nowplaying item meta

iphone - 打印出变量名

ios - 使用属性进行类初始化

ios - 禁用编辑但允许继续快速输入

ios - 如何在swift 3中获取本地时区日期