我正在尝试实现 iCloud,我需要通知用户与 iCloud 同步如何更改数据。例如,此类通知将包括一个对象已添加到 UITableView 并且现在可以查看。
谢谢
当 iCloud 发布NSPersistentStoreDidImportUbiquitousContentChangesNotification
时,您知道已从云端收到更改。userInfo
此通知上的字典会告诉您哪些对象已更改。查找NSInsertedObjectsKey
、NSUpdatedObjectsKey
和NSDeletedObjectsKey
键的值。这些键的值将列出标识受影响对象的托管对象 ID。
您不会收到有关更新对象的哪些属性已更改的任何通知。如果您已经加载了它们,您可以将加载的值与新的值进行比较。NSManagedObjectContext
使用's方法获取新值existingObjectWithID:error:
,并将生成的对象与您已有的对象进行比较。在调用之前执行此mergeChangesFromContextDidSaveNotification:
操作,以便您仍然可以访问合并前状态。如果您尚未加载它,则无法获取属性更改,因为加载对象将仅显示新值。