轻量级迁移核心数据

Posted

技术标签:

【中文标题】轻量级迁移核心数据【英文标题】:light weight migration core data 【发布时间】:2013-05-17 05:24:42 【问题描述】:

我正在使用核心数据进行存储。对于我的应用程序的第二个版本,我在核心数据中创建了一个新实体,因此我使用了轻量级迁移。这样我的架构发生了变化,但用户数据丢失了。如何保存我的用户数据?

【问题讨论】:

【参考方案1】:

您必须在您的 appdelegate didFinishLaunching 方法中为新版本添加一些逻辑,以便它检测到这是一个更新并且应用程序首次打开(您可以通过在 userdefaults 中添加一些字段来做到这一点)。

之后,您使用 sqlite 查询从用户数据库中读取当前数据并临时存储。

然后从文件位置删除数据库并从核心数据实例化新数据库,您需要通过sqlite查询再次将现有数据复制到新数据库,然后准备好与备份的旧数据一起使用。

【讨论】:

以上是关于轻量级迁移核心数据的主要内容,如果未能解决你的问题,请参考以下文章

iOS 核心数据轻量级迁移

核心数据轻量级迁移属性重命名

核心数据和累积的轻量级迁移

核心数据轻量级迁移 Xcode 崩溃

核心数据轻量级迁移 - 何时版本?

核心数据:何时启用轻量级迁移?