Tag: nsmanagedobjectcontext nsnotifications

NSFetchedResultsController是否观察到永久存储的所有更改?

我的程序工作如下链接: 更新NSFetchedResultsController的结果而不需要新的提取 将NSFetchedResultsController的结果显示给UITableView 从Web服务获取新的对象,并将其存储到核心数据(在相同的视图控制器,与RestKit) 更新表视图与NSFetchedResultsController委托的通知 NSFetchedResultsControllerDelegate的实现是从Apple的Core Data项目复制的,我的预测是: [NSPredicate predicateWithFormat:@"isMyTest == TRUE"] 如果属性更新从TRUE变为FALSE,则它将从tableview中删除行(因为该行的对象位于fetchedObjects中) 但是,如果属性更新从FALSE变为TRUE,则NSFetchedResultsController不通知任何内容,因此新的数据不能在表视图中看到。 如果我手动更新NSFetchedResulsController和UITableView,它会显示新的数据。 我以为NSFetchedResultController监视持久存储中的所有更改,这是太大的希望? :d (我真的想这样做,因为其他视图控制器可以更新持久性存储,那么很难更新视图控制器。) 如果是这样,你可以让我知道我怎么能更好地更新NSFetchedResultsController? (更新) 在参考NSfetchedResultsController,我读了下面的单词: 因此,控制器有效地具有三种操作模式,由是否具有委托以及是否设置了高速caching文件名来确定。 没有跟踪:代表被设置为零。 控制器只是提供对数据的访问,就像执行提取时一样。 仅内存跟踪:代理非零,文件caching名称设置为零。 控制器监视其结果集中的对象,并更新部分和响应相关更改的sorting信息。 完全持久跟踪:委托和文件caching名称不为零。 控制器监视其结果集中的对象,并更新部分和响应相关更改的sorting信息。 控制器维护其计算结果的持久caching。 “完全持续跟踪”并不意味着我想要什么? 我设置了cacheName,但是它的工作原理是一样的。