我有一些默认内容的数据库。如何使用 iCloud 在不同设备上同步数据库中的更改?如果 CoreData 首先是空的,我知道如何同步设备,并且我可以从外部 sqlite 文件迁移到 CoreData。
问问题
222 次
1 回答
3
如果您有现有的 Core Data 存储并且想要添加 iCloud 支持,则需要将所有现有数据传输到新的数据存储并保存结果。这是必要的,因为 iCloud 仅在您保存更改时生成事务——因此您需要有效地保存所有更改以启动同步过程。
NSPersistentStoreCoordinator
在大多数情况下,您可以使用's一步完成此操作migratePersistentStore:toURL:options:withType:error:
。传入调用时使用的相同 iCloud 选项addPersistentStoreWithType:configuration:URL:options:error:
。仅当从非 iCloud 数据存储移动到使用 iCloud 的数据存储时才使用这种替代方法。
此外,请注意将 iCloud 与 Core Data 一起使用。它没有赢得可靠性的声誉。密切关注 Apple 的文档和示例项目,即便如此,也要做好准备,让它有时无法正常工作。
于 2013-01-29T17:58:11.657 回答