iCloud + 预加载的 CoreData
Posted
技术标签:
【中文标题】iCloud + 预加载的 CoreData【英文标题】:iCloud + Preloaded CoreData 【发布时间】:2013-01-29 15:32:19 【问题描述】:我有一些默认内容的数据库。如何使用 iCloud 在不同设备上同步数据库中的更改? 我知道如果 CoreData 首先是空的,我如何同步设备,我可以从外部 sqlite 文件迁移到 CoreData。
【问题讨论】:
【参考方案1】:如果您有现有的 Core Data 存储并且想要添加 iCloud 支持,则需要将所有现有数据传输到新的数据存储并保存结果。这是必要的,因为 iCloud 仅在您保存更改时生成事务 - 因此您需要有效地保存更改以供 所有内容 快速启动同步过程。
在大多数情况下,您可以使用NSPersistentStoreCoordinator
的migratePersistentStore:toURL:options:withType:error:
一步完成。传递调用addPersistentStoreWithType:configuration:URL:options:error:
时使用的相同iCloud 选项。仅当从非 iCloud 数据存储移动到使用 iCloud 的数据存储时才使用这种替代方法。
另外,谨防将 iCloud 与 Core Data 一起使用。它没有赢得可靠性的声誉。密切关注 Apple 的文档和示例项目,即便如此,也要做好准备,让它有时无法正常工作。
【讨论】:
以上是关于iCloud + 预加载的 CoreData的主要内容,如果未能解决你的问题,请参考以下文章
加载预加载到 Core Data 中的 SQLite 数据库
如何使用 SQLite 文件预加载 Core Data,该文件引用使用“外部存储”保存的图像?