确保 'Today' 扩展已从 Core Data 更新信息
Ensuring 'Today' extension has updated information from Core Data
我有一个应用程序和一个今天的扩展,它们使用安全组标识符共享核心数据持久存储。
主应用程序更新核心数据存储,而扩展仅从存储中读取。
我在应用程序和扩展程序中都使用 NSFetchedResultsController
来检索对象。
这基本上是有效的,除了当主应用程序将新对象添加到商店时,它们不会立即对扩展程序可见。同样,扩展程序仍然可以在主应用程序删除对象后看到它们。
终止应用程序(从任务切换器向上滑动)会导致扩展立即看到更改的数据。
如何确保扩展始终看到更新?
我发现解决方案是从 today 扩展中的 NSFetchedResultsController
中删除缓存数据。我在设置 NSFetchedResultsController
的代码中添加了以下行
[NSFetchedResultsController deleteCacheWithName:self.fetchedResultsController.cacheName];
我有一个应用程序和一个今天的扩展,它们使用安全组标识符共享核心数据持久存储。
主应用程序更新核心数据存储,而扩展仅从存储中读取。
我在应用程序和扩展程序中都使用 NSFetchedResultsController
来检索对象。
这基本上是有效的,除了当主应用程序将新对象添加到商店时,它们不会立即对扩展程序可见。同样,扩展程序仍然可以在主应用程序删除对象后看到它们。
终止应用程序(从任务切换器向上滑动)会导致扩展立即看到更改的数据。
如何确保扩展始终看到更新?
我发现解决方案是从 today 扩展中的 NSFetchedResultsController
中删除缓存数据。我在设置 NSFetchedResultsController
[NSFetchedResultsController deleteCacheWithName:self.fetchedResultsController.cacheName];