ios - 确保“今天”扩展程序已更新了核心数据中的信息

标签 ios core-data ios8-today-widget today-extension

我有一个应用程序和一个今天的扩展程序,它们使用安全组标识符共享Core Data持久性存储。

主应用程序更新Core Data存储,而扩展名仅从存储中读取。

我在应用程序和扩展程序中都使用了NSFetchedResultsController来检索对象。

这基本上可以工作,除了当主应用将新对象添加到商店中时,扩展插件不会立即看到它们。同样,扩展程序在主应用删除对象后仍可以看到对象。

终止应用程序(从任务切换器中清除)会使扩展程序立即看到更改的数据。

如何确保扩展程序始终看到更新?

最佳答案

我发现解决方案是从今天扩展中的NSFetchedResultsController中删除缓存的数据。我在我的代码中添加了以下代码来设置NSFetchedResultsController

 [NSFetchedResultsController deleteCacheWithName:self.fetchedResultsController.cacheName];

关于ios - 确保“今天”扩展程序已更新了核心数据中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27959325/

相关文章:

ios - Iphone 应用程序不会每次都请求许可

objective-c - 如何在Objective C中将#import "..."更改为#import <...>

ios - 如何将 double 类型转换为 CGAffineTransform?

swift - 父对象和子对象的单个 NSFetchRequest

objective-c - 如何本地化 iOS 8 今天的扩展小部件以及小部件名称

带有自定义字体的 iOS Today Widget 由于内存错误而终止

ios - 后台模式下的 iBeacon 访问

cocoa - 使用 CoreData 自动持久从 NSArrayController 中删除对象

ios - iPad 处于离线状态,日期设置为 2030 年,用户保存实体,现在使用基于时间戳的同步怎么办?

iOS Today Extension 在 iPhone 上不断崩溃,而不是在模拟器中