核心数据关系未迁移(自定义迁移)

时间:2016-10-07 18:58:19

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

我真的不知道在哪里寻找解决这个问题的方法。基本上,我已经阅读了两次(或更多)所有文档和我在网上发现的有关Core Data Migration的所有页面。

我不得不更改实体上的一些名称(为了可读性),还必须更改我的实体中使用的域值。 AFAIK,在这种情况下,我必须进行自定义迁移,因为我必须分析输入并生成新的输出:

  1. 我已经创建了新的模型版本(v7)
  2. 我已经更新了模型
    • 重命名了现有的实体,属性和关系。
    • 添加/删除了一些属性
  3. 我创建了映射模型(v6到v7)
  4. 我已使用表达式
  5. 配置了映射模型
  6. 我创建了两个NSEntityMigrationPolicy(每个实体一个)
  7. Models

    实体和字段值的迁移进展顺利,但在此过程中没有任何关系得到恢复。

    在此过程中,表达式为:

    FUNCTION($manager, "destinationInstancesForEntityMappingNamed:sourceInstances:" , "RecentCallToRecentRecord", $source.recents)
    

    什么也没有回来。

    我已经调试了我的自定义 NSEntityMigrationPolicy ,以检查源和目标实体是否按预期绑定,并且非常奇怪。在执行createDestinationInstancesForSourceInstance:entityMapping:manager:error:期间一切正常,在调用超类后,我可以从Source导航到目标(反之亦然)。但是在执行createRelationshipsForDestinationInstance:entityMapping:manager:error:期间,此对象导航不再起作用。

    提前感谢您的帮助。

0 个答案:

没有答案