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

时间:2012-11-26 15:40:13

标签: ios cocoa-touch core-data core-data-migration

我可以执行以下操作吗?

  1. 从app的v1.0开始。版本数据模型,将新版本指定为活动架构
  2. 在appDelegate中设置正确的选项,以使用轻量级迁移创建NSPersistentStoreCoordinator
  3. 对模型进行简单更改并更新类。编译并验证一切正常。
  4. 在不更改版本的情况下对数据模型进行其他更改,然后再次更新类
  5. 当然,当我运行时,数据模型将不兼容,因为我在没有版本控制的情况下对其进行了更改。但由于我不会发布中间版本,我怀疑从v1.0更新到双倍更新的数据模型时,数据迁移应该可以正常工作。

    这准确吗?

1 个答案:

答案 0 :(得分:1)

只要满足以下条件,它就会起作用:

  1. 您已为每个步骤创建了新的模型版本;所以在上面的例子中,你最后应该有三个:original,intermediate,final。
  2. 应用程序必须能够从1到3进行轻量级迁移。如果不能,则如果磁盘上的数据仍然是1的结构,它将不会通过2。
  3. 如果所有这些都是真的那么它就会起作用。甚至你甚至可以在最终版本中不发送v2(尽管它们很小并且通常不值得努力)。

    在开发过程中,我的建议是始终保持v1数据,只需更改v2并在每次需要调整v2时重新启动。然后没有中间人可以处理。但是,在与beta测试人员交易/合作时,这并不总是可行的。