Core Data轻量级迁移重命名属性是否一直在重命名id?

时间:2013-10-25 13:59:29

标签: ios core-data xcode5

我正在使用xcode 5为iPhone开发应用程序,我使用轻量级迁移来更新Core Data架构。

我在模型版本1中创建了一个用户实体,User有一个名为nameA的属性。

在模型版本2中,我将User的{​​{1}}重命名为nameA,我将nameB的重命名ID设置为nameB。此步骤已成功,nameA的上一个值可在nameA中找到。

然后我创建模型版本3以添加另一个名为nameB的实体,我在版本3中找到House的{​​{1}}仍然将其重命名ID设置为{{1} }

我认为在模型版本3中,User的{​​{1}}不应该有重命名ID,因为模型版本3基于版本2,而在版本3中我没有更改{ {1}}实体

我应该删除nameB的{​​{1}}的重命名ID吗?或者只是留在那里?

任何人都知道怎么做?

2 个答案:

答案 0 :(得分:0)

你应该把它留在那里。您的用户可能尚未升级到核心数据架构的版本2。当这些用户从v1升级到v3时,他们需要知道如何从nameA迁移到nameB

答案 1 :(得分:-2)

如果您使用轻量级迁移,则根本不应编辑迁移方案。轻量级迁移的重点在于您不必关心重命名ID和其他类似的东西 - 它是自动的!

以下是您的工作流程:

  • 制作新版本
  • 激活它
  • 进行模型更改
  • 对于后续版本,请重复上述内容

这就是全部。您描述的更改(它们都是轻量级兼容的)应该可以正常工作。