在我的核心数据模型中,我有一个实体,它与另一种类型的实体具有多对多关系(未排序)。我还使用iCloud同步与我的应用程序。
现在,当我在该关系中添加或删除对象时,更改会反映在运行该应用程序的其他设备上(对象显示或消失)。
但是,当我只是更新该关系中对象的属性时,实体不会更新。我仍然可以从我的 NSLog 语句中看到 NSPersistentStoreDidImportUbiquitousContentChangesNotification 被识别,但实体没有得到更新。
但是,当我关闭应用程序,然后将其从多任务栏中删除并重新启动应用程序(并且iCloud商店完成加载)时,我现在可以看到表中的更改。
我对导致这种情况的原因感到非常困惑,我需要在导入更改后立即反映它们。知道这里发生了什么吗?
托管对象上下文的过期间隔设置为足够低的间隔(我将其设置为 0.0)才能正常工作。否则,核心数据将改用缓存的值。