Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.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 核心数据模型迁移_Ios_Core Data_Core Data Migration - Fatal编程技术网

Ios 核心数据模型迁移

Ios 核心数据模型迁移,ios,core-data,core-data-migration,Ios,Core Data,Core Data Migration,我想将核心数据迁移到两个模型。根据apple文档,有两种方法可以迁移模型,如轻量级迁移和映射模型。我的困惑是,在哪种情况下,我需要使用核心数据迁移的映射模型方法 轻量级迁移是在添加/修改/删除属性或实体时执行的—通常是简单的操作 当您必须将一个模式转换为另一个模式时,需要使用映射选项。 假设您和实体A,但您需要将其分为两部分:B和C。 然后,您必须告诉CoreData如何在方案之间映射实体和属性 这个过程比轻量级迁移稍微复杂一点。它需要创建映射模型文件,根据需要定义NSEntityMigrati

我想将核心数据迁移到两个模型。根据apple文档,有两种方法可以迁移模型,如轻量级迁移和映射模型。我的困惑是,在哪种情况下,我需要使用核心数据迁移的映射模型方法

轻量级迁移是在添加/修改/删除属性或实体时执行的—通常是简单的操作

当您必须将一个模式转换为另一个模式时,需要使用映射选项。 假设您和实体
A
,但您需要将其分为两部分:
B
C
。 然后,您必须告诉CoreData如何在方案之间映射实体和属性


这个过程比轻量级迁移稍微复杂一点。它需要创建映射模型文件,根据需要定义
NSEntityMigrationPolicy
子类,等等,根据您的需要。

感谢Oczko的快速回复…如果我理解正确,将实体A拆分为实体B和实体C等两个现有实体时需要映射模型。但我有一个疑问,我可以通过删除实体A中的属性并在创建新模型时手动添加到实体B和C中来处理此情况。通过这种方式,轻量级迁移是否足够?若应用程序正在开发中,你们不介意丢失数据,那个就好了。否则就不安全了,因为CoreData不知道如何填充新添加的属性。