5

我正在使用 xcode 5 为 iPhone 开发应用程序,我使用轻量级迁移来更新核心数据模式。

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

在模型版本 2 中,我将User's重命名nameAnameB,我将nameB's 重命名 id 设置为nameA. 这一步成功,nameA可以在 中找到之前的值nameB

然后我创建模型版本 3 以添加另一个名为 的实体House,我发现在版本 3 中,它UsernameB重命名 id 仍然设置为nameA

我认为在模型版本 3 中,User'snameB不应该有重命名 ID,因为模型版本 3 基于版本 2,而在版本 3 中我没有更改User实体的任何内容

那么我应该删除User's的重命名 idnameB吗?还是把它留在那里?

有谁知道怎么做?

4

2 回答 2

1

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

于 2016-08-08T14:02:17.457 回答
-2

如果您使用轻量级迁移,则根本不应该编辑迁移方案。轻量级迁移的全部意义在于您不必关心重命名 id 和其他类似的事情 - 它是自动的!

这是您的工作流程:

  • 创建一个新版本
  • 激活它
  • 进行模型更改
  • 对于后续版本,请重复上述操作

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

于 2013-10-26T16:27:26.443 回答