iCloud +预装CoreData

时间:2013-01-29 15:32:19

标签: ios core-data icloud

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

1 个答案:

答案 0 :(得分:3)

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

在大多数情况下,您可以使用NSPersistentStoreCoordinator的{​​{1}}一步完成此操作。传入调用migratePersistentStore:toURL:options:withType:error:时使用的相同iCloud选项。仅当从非iCloud数据存储移动到使用iCloud的数据存储时,才使用此备用方法。

此外,要小心将iCloud与核心数据结合使用。它没有赢得可靠性的声誉。密切关注Apple的文档和示例项目,甚至为此做好准备,以便有时无法正常工作。