我有一些默认内容的数据库。如何使用iCloud同步不同设备上数据库的更改?
我知道如何在CoreData首先为空的情况下同步设备,并且可以从外部sqlite文件迁移到CoreData。

最佳答案

如果您现有核心数据存储,并且想要添加iCloud支持,则需要将所有现有数据转移到新的数据存储中并保存结果。这是必要的,因为iCloud仅在您保存更改时才生成事务-因此您需要有效地保存更改以使所有内容快速启动同步过程。

在大多数情况下,您可以使用NSPersistentStoreCoordinatormigratePersistentStore:toURL:options:withType:error:一步完成此操作。传递与调用addPersistentStoreWithType:configuration:URL:options:error:时将使用的相同的iCloud选项。仅当从非iCloud数据存储转移到使用iCloud的存储时,才使用此替代方法。

另外,请注意将iCloud与Core Data结合使用。它没有以可靠性赢得声誉。密切注意Apple的文档和示例项目,即使这样,也要做好准备以使它有时无法工作。

10-06 10:51
查看更多