2012-10-05 35 views
2

NSManagedObjectContextObjectsDidChangeNotification通知中,我有时会得到NSRefreshedObjectsKey密钥。NSRefreshedObjectsKey的用途

我了解refreshed objects是从持久存储/缓存中获取对象的新提取。

什么原因导致通知返回刷新的对象呢?对于插入,更新,删除等显而易见,但我必须做什么才能让它出现在NSRefreshedObjectsKey密钥中?例如。它是否可能以某种方式被简单地触动(相同的值写入相同的键)?

回答

3

如果您在对象上调用' - (void)refreshObject:(NSManagedObject *)对象mergeChanges:(BOOL)标志 ',那么该对象将被包含在刷新的对象中。

我们使用多线程的managedobject上下文,并且在合并来自bg上下文的更改之前,我们使用'existingObject'实现所有更改的对象。这也会导致这些对象包含'NSRefreshedObjectsKey'键的 。