iCloud + 预加载的 CoreData

Posted

技术标签:

【中文标题】iCloud + 预加载的 CoreData【英文标题】:iCloud + Preloaded CoreData 【发布时间】:2013-01-29 15:32:19 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

另外,谨防将 iCloud 与 Core Data 一起使用。它没有赢得可靠性的声誉。密切关注 Apple 的文档和示例项目,即便如此,也要做好准备,让它有时无法正常工作。

【讨论】:

以上是关于iCloud + 预加载的 CoreData的主要内容,如果未能解决你的问题,请参考以下文章

加载预加载到 Core Data 中的 SQLite 数据库

如何使用 SQLite 文件预加载 Core Data,该文件引用使用“外部存储”保存的图像?

带有核心数据的预加载数据库

CoreData:使用 NSCKImportOperation 删除传播预取失败

iOS:如何在显示前预加载数据

iPhone上的预加载数据库?