我有一个应用程序和今天的扩展,它们使用安全组标识符共享Core Data持久存储。
主应用程序更新Core Data存储,扩展只读取商店。
我在应用和扩展程序中使用NSFetchedResultsController
来检索对象。
这基本上有效,除了当主应用程序向商店添加新对象时,它们立即对扩展程序不可见。类似地,扩展程序在主应用程序删除后仍然可以看到对象。
终止应用程序(从任务切换器向上滑动)会使扩展程序立即查看更改的数据。
如何确保扩展程序始终可以看到更新?
答案 0 :(得分:4)
我发现解决方案是从今天的扩展程序中的NSFetchedResultsController
中删除缓存的数据。我在设置NSFetchedResultsController
[NSFetchedResultsController deleteCacheWithName:self.fetchedResultsController.cacheName];