0

我正在尝试实现 iCloud,我需要通知用户与 iCloud 同步如何更改数据。例如,此类通知将包括一个对象已添加到 UITableView 并且现在可以查看。

谢谢

4

1 回答 1

1

当 iCloud 发布NSPersistentStoreDidImportUbiquitousContentChangesNotification时,您知道已从云端收到更改。userInfo此通知上的字典会告诉您哪些对象已更改。查找NSInsertedObjectsKeyNSUpdatedObjectsKeyNSDeletedObjectsKey键的值。这些键的值将列出标识受影响对象的托管对象 ID。

您不会收到有关更新对象的哪些属性已更改的任何通知。如果您已经加载了它们,您可以将加载的值与新的值进行比较。NSManagedObjectContext使用's方法获取新值existingObjectWithID:error:,并将生成的对象与您已有的对象进行比较。在调用之前执行此mergeChangesFromContextDidSaveNotification:操作,以便您仍然可以访问合并前状态。如果您尚未加载它,则无法获取属性更改,因为加载对象将仅显示新值。

于 2013-06-19T21:55:06.673 回答