NSFetchedResultController 在什么时候回更新数据?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

NSFetchedResultController 在什么时候回更新数据?

2016-07-28 11:38:53 1953 1

小弟的问题是这样的:我在写网络程序做缓存的策略是在网络数据请求下来之前生成NSFetchedResultController然后网络数据请求下来后更新数据库,借用NSFetchedResultController的机制对界面进行更新。可是奇怪的是当我把网络数据请求下来更新到数据库以后之前生成的NSFetchedResultController并没有更新,也没有调用代理方法通知视图更新。即便是我在网络更新数据以后手动调用一次performFetch其中的数据也不会更新。

更加奇怪的是,如果我在网络数据请求结束以后按照同样的配置再生成一个NSFetchedResultController此时就有数据。我很确定在无论是手动调用performFetch还是重新生成NSFetchedResultController对象之前,数据库的内容确实得到了更新,这是我用 SqlitePro 进行查看的。

通过查阅苹果文档,我只能得到这样的信息:

The results array reflects the in-memory state of managed objects in the controller’s managed object context, not their state in the persistent store. The returned array does not, however, update as managed objects are inserted, modified, or deleted.
也就是说,NSFetchedResultController只能显示内存状态,而不能表示持久对象的状态,可是。。。我既然已经把对象保存起来,上下文中的对象状态应该已经改变了啊,这种情况下我应该怎么理解NSFetchedResultController的更新机制?求大神解释 QAQ

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 20:01:16

    应该是负责存储的moc与负责展示的moc的状态不同步导致的,你有没有正确使用NSManagedObjectContextDidSaveNotification和mergeChangesFromContextDidSaveNotification:,相关内容可以搜索:Track Changes in Other Threads Using Notifications
    2015年04月12日回答 3 评论

    0 0
相关问答

1

回答

controller bean的启动是怎样的

2022-08-18 07:29:39 35浏览量 回答数 1

0

回答

在control中主要用到的是restcontroller是为什么呢?

2022-08-17 08:59:02 32浏览量 回答数 0

1

回答

control中主要用到的是restcontroller是为什么呢?

2022-08-18 07:30:47 150浏览量 回答数 1

1

回答

Kubernetes调度过程中的Controllers是什么?

2022-03-15 18:39:49 783浏览量 回答数 1

1

回答

Apache Flink分层API中的DataStream API是什么呢?

2021-12-07 21:11:59 115浏览量 回答数 1

1

回答

Controller 在做什么?

2021-11-30 15:46:15 92浏览量 回答数 1

1

回答

@Controller 是什么?

2021-10-26 23:26:14 125浏览量 回答数 1

1

回答

@Controller是什么?

2021-10-25 22:01:38 100浏览量 回答数 1

1

回答

在Controller层使用统一的异常拦截器是什么?

2021-10-24 09:59:16 135浏览量 回答数 1

0

回答

是不是不用restcontroller?

2019-08-08 17:55:18 195浏览量 回答数 0
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载