新孩子的核心数据新实体

时间:2012-05-15 09:06:36

标签: iphone ios xcode core-data core-data-migration

我之前问过一个关于在ElementListViewController中合并屏幕问题的问题,并找到了我的问题的解决方案,但现在我有一个新问题:

我有推广和优惠券,这是元素的子实体。

现在我想要Deal是Element的子实体,但它是Promotion和Voucher的父级。

所以我的CoreData模型已更改,我有一个新版本。但我确信这会因此而崩溃(来自Apple Doc):

  

但是,您无法合并实体层次结构;如果两个现有实体不在源中共享公共父级,则它们不能在目标中共享公共父级。

那么如何构建我的新应用程序而不会崩溃? 我是否必须做一个映射模型,这就是全部?或者我是否必须进行迁移? 这篇Apple Doc非常完整,但我不太清楚。

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要进行手动迁移。 我不知道这样做的正确方法是什么,但我用这种方式做了类似的事情 - 我创建了新的实体,在自动迁移后,我自己进行数据库更新,将记录从旧实体移动到新实体。遗憾的是,数据模型中仍有旧实体不再使用,这就是坏事。