【发布时间】:2013-11-18 08:09:44
【问题描述】:
我有问题。我正在编写一个使用核心数据并通过 iCloud 同步它的应用程序。收到更改后我是否需要在上下文中更新数据。我可以放弃收到的更改吗?
【问题讨论】:
我有问题。我正在编写一个使用核心数据并通过 iCloud 同步它的应用程序。收到更改后我是否需要在上下文中更新数据。我可以放弃收到的更改吗?
【问题讨论】:
当您收到NSPersistentStoreDidImportUbiquitousContentChangesNotification 时,已经收到传入的更改并将其保存到您的持久存储文件中。下一步做什么取决于你。
我是否需要在收到更改后更新上下文中的数据
如果您希望您的用户看到新的更改,那么可以。您可以使用mergeChangesFromContextDidSaveNotification: 来执行此操作。
我可以放弃收到的更改吗?
当您收到通知时,更改已被接收并保存。如果需要,您可以保存不同的值。不过,您无法告诉 iCloud 是否提交更改——它们已经存在了。
【讨论】:
汤姆说的是真的。这些更改已经导入到持久存储文件中,但它们没有合并到实际的 PersistentContext 中,这就是 mergeChangesFromContextDidSaveNotification 所做的。
【讨论】: