1

有没有什么好方法可以在另一个版本中更改 NSManagedObject 的父实体?
假设在模型版本 1.1 上我得到了:

  • anObject - 没有父实体

在 1.2 版中,我想让它继承自

  • object - 1.1 版中已经存在并包含属性“objectID”的父类

当我更改它的父实体时,应用程序崩溃:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法创建托管对象上下文:持久存储协调器没有任何持久存储。这可能意味着您忘记添加持久存储,或者您尝试这样做失败并出现错误。

这个答案中,建议在新版本中创建具有不同名称的新实体,并删除旧实体。
我的问题是这种问题是否有“更清洁”的解决方案?
如何将映射模型添加到项目/当前模型?

4

1 回答 1

3

好的解决方案很简单,
您在模型中进行所需的更改(更改“anObject”父实体)
然后您需要做的就是添加一个新的映射模型,方法是选择“新文件”->“核心数据”- > “映射模型”

添加新的映射模型

确保在添加新的映射模型之前对模型进行了更改!
然后选择源数据模型(在我的例子中是 1.1 版)和目标数据模型(1.2),并创建新的映射模型。
对我来说就是这么简单,甚至不需要对新的映射模型进行任何更改。如果有人对使用映射模型的利弊有任何意见,我想在这里。

于 2015-05-26T12:06:13.510 回答