Core data 是否需要在NSPersistentStoredImportubiQuantiousContentChangesNotification之后手动更新数据

Core data 是否需要在NSPersistentStoredImportubiQuantiousContentChangesNotification之后手动更新数据,core-data,sync,icloud,Core Data,Sync,Icloud,我有个问题。我正在编写一个应用程序,使用核心数据并通过iCloud进行同步。我是否需要在收到更改后更新上下文中的数据。我可以放弃收到的更改吗?当您获得NSPersistentStoredImportubiquitousContentChangesNotification时,传入的更改已经收到并保存到您的永久存储文件中。你下一步做什么取决于你自己 我是否需要在收到更改后更新上下文中的数据 如果希望用户看到新的更改,则选择“是”。您可以使用mergeChangesFromContextDidSave

我有个问题。我正在编写一个应用程序,使用核心数据并通过iCloud进行同步。我是否需要在收到更改后更新上下文中的数据。我可以放弃收到的更改吗?

当您获得
NSPersistentStoredImportubiquitousContentChangesNotification
时,传入的更改已经收到并保存到您的永久存储文件中。你下一步做什么取决于你自己

我是否需要在收到更改后更新上下文中的数据

如果希望用户看到新的更改,则选择“是”。您可以使用
mergeChangesFromContextDidSaveNotification:
执行此操作

我可以放弃收到的更改吗


收到通知后,更改已被接收并保存。如果需要,可以保存不同的值。不过,你不需要告诉iCloud是否要提交这些更改——它们已经存在了。

Tom说的是真的。更改已经导入到持久存储文件中,但它们没有合并到实际的PersistentContext中,这就是mergeChangesFromContextDidSaveNotification所做的。

Tom是这样的,我的印象是您可以迭代通知中列出的对象并删除(或更改)在调用mergeChanges之前,请先删除它们。例如,如果存在重复项,您可以在合并之前删除它们,这样重复项就永远不会显示在UI中。