Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone CoreData中的新实体与新子实体_Iphone_Ios_Xcode_Core Data_Core Data Migration - Fatal编程技术网

Iphone CoreData中的新实体与新子实体

Iphone CoreData中的新实体与新子实体,iphone,ios,xcode,core-data,core-data-migration,Iphone,Ios,Xcode,Core Data,Core Data Migration,我以前问过一个关于在ElementListViewController中合并屏幕的问题,并找到了解决问题的方法,但现在我有了一个新的方法: 我有促销和凭证,它是元素的子实体 现在我想要一个Deal,它是元素的子实体,但它是促销和凭证的父实体 所以我的CoreData模型改变了,我有了一个新版本。但我相信这会崩溃,因为Apple Doc: 但是,不能合并实体层次结构;如果两个现有实体在源中不共享公共父级,则它们不能在目标中共享公共父级 那么,我如何在不崩溃的情况下构建我的新应用程序呢? 我需要做一

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

我有促销和凭证,它是元素的子实体

现在我想要一个Deal,它是元素的子实体,但它是促销和凭证的父实体

所以我的CoreData模型改变了,我有了一个新版本。但我相信这会崩溃,因为Apple Doc:

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

那么,我如何在不崩溃的情况下构建我的新应用程序呢? 我需要做一个映射模型吗?还是我必须迁移? 这个苹果文档非常完整,但我不确定是否真正理解


谢谢大家!

您需要进行手动迁移。
我不知道怎样做才是正确的方法,但我用这种方法做了类似的事情——我创建了新实体,在自动迁移之后,我做了自己的数据库更新,将记录从旧实体移动到新实体。不幸的是,数据模型中仍然有一些旧实体未被使用,这是一件坏事。

在这里找到:@THClem你完全正确。但我从来没有时间这样做。也许是时候学习了: