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

时间:2013-05-27 15:34:04

标签: core-data mapping-model

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

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

我曾尝试按照教程here进行操作,但我遇到了“StepOneEntityMigrationPolicy.m”的问题。我创建了一个NSEntityMigrationPolicy子类并在映射模型中设置它。我已经尝试覆盖createDestinationInstancesForSourceInstance和createRelationshipsForDestinationInstance:,但都没有被调用。

这可能是因为我的Source和Destination都是相同的(GameToGame)?另外,通过映射模型而不是我现在正在做这件事有什么好处吗?

1 个答案:

答案 0 :(得分:1)

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