Core data 具有新(非可选)关系的核心数据映射模型

Core data 具有新(非可选)关系的核心数据映射模型,core-data,mapping-model,Core Data,Mapping Model,我的原始数据模型有一个实体“游戏”。我现在已经更新了模型,添加了一个实体“Match”,它可以引用多个游戏。我希望在我所有的旧游戏中添加一个匹配项,理想情况下,这将是一个非可选的关系 目前我将Match设置为可选,只需在应用程序中的每个旧游戏中添加一个Match:didFinishLaunching,在模型更新后启动。这是可行的,但我想知道这是否是最好的方法 我试着跟随教程,但是我被“StepOneEntityMigrationPolicy.m”的部分卡住了。我创建了一个NSEntityMigr

我的原始数据模型有一个实体“游戏”。我现在已经更新了模型,添加了一个实体“Match”,它可以引用多个游戏。我希望在我所有的旧游戏中添加一个匹配项,理想情况下,这将是一个非可选的关系

目前我将Match设置为可选,只需在应用程序中的每个旧游戏中添加一个Match:didFinishLaunching,在模型更新后启动。这是可行的,但我想知道这是否是最好的方法

我试着跟随教程,但是我被“StepOneEntityMigrationPolicy.m”的部分卡住了。我创建了一个NSEntityMigrationPolicy子类,并将其设置在映射模型中。我已尝试覆盖createDestinationInstancesForSourceInstance和createRelationshipsForDestinationInstance:,但都没有被调用


这可能是因为我的源和目标都是相同的(GameToGame)?另外,通过映射模型而不是像我现在这样做有什么好处吗?

我认为最简单、最实用的方法就是你现在所做的,即在更新后“手动”插入必要的新实体。这是一种在模型版本升级后填充孤立实体的常用方法,非常好