Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在NSManagedObjectContextObjectsDidChangeNotification通知中,我有时会得到NSRefreshedObjectsKey密钥。
NSManagedObjectContextObjectsDidChangeNotification
NSRefreshedObjectsKey
我理解刷新的对象是从持久存储/缓存中重新获取对象。
那么是什么导致通知返回刷新的对象呢?对于插入、更新、删除等,这很明显,但是我必须对对象做什么才能让它出现在NSRefreshedObjectsKey键中?例如,它可能只是以某种方式被触摸(相同的值写入相同的键)?
如果您在对象上调用 '- (void)refreshObject:(NSManagedObject *)object mergeChanges:(BOOL)flag ',则该对象将包含在刷新的对象中。
我们使用多个线程管理对象上下文,在合并来自 bg 上下文的更改之前,我们使用“现有对象”实现所有更改的对象。这也会导致这些对象包含在“NSRefreshedObjectsKey”键中。