Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
Ios CoreData:创建一个新实体作为旧实体的父实体_Ios_Core Data - Fatal编程技术网

Ios CoreData:创建一个新实体作为旧实体的父实体

Ios CoreData:创建一个新实体作为旧实体的父实体,ios,core-data,Ios,Core Data,最近,我试图改进我的代码。我发现我的所有实体都有名为identifier和owner的属性,所以我想创建一个实体作为它们的父实体,其中包含identifier和owner 结果如下,所有对象都从名为SRModel的父对象继承,该父对象具有标识符和所有者属性 但是,在我删除所有这些冗余属性之后,持久存储无法自动迁移。 我怎样才能解决这个问题?我必须自己做迁移吗? 有什么简单的方法可以做到这一点吗?根据苹果的说法,你不能自动做到这一点 但是,不能合并实体层次结构;如果两个现有实体在源中不共享公共

最近,我试图改进我的代码。我发现我的所有实体都有名为identifier和owner的属性,所以我想创建一个实体作为它们的父实体,其中包含identifier和owner

结果如下,所有对象都从名为SRModel的父对象继承,该父对象具有标识符和所有者属性

但是,在我删除所有这些冗余属性之后,持久存储无法自动迁移。 我怎样才能解决这个问题?我必须自己做迁移吗? 有什么简单的方法可以做到这一点吗?

根据苹果的说法,你不能自动做到这一点

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


注意Andy Riordan关于继承的观点。不要只相信他的话;在新旧模型下查看生成的.SQLite文件。添加一个只有两个公共属性的父实体只会使您的实体和备份表变大,而不会带来性能方面的好处。如果你真的想注意到这两个共同点,请使用协议将它们说出来。

这不是你问题的答案,仅供参考:@AndyRiordan非常感谢!也许我会创建独立于旧实体的新实体。。。