2013-05-27 64 views
0

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

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

我试图按照教程here,但我被困在与“StepOneEntityMigrationPolicy.m”的部分。我创建了一个NSEntityMigrationPolicy子类并将其设置为映射模型。我试着重写createDestinationInstancesForSourceInstance和createRelationshipsForDestinationInstance:,但都没有被调用。

这可能是因为我的来源和目的地都是相同的(GameToGame)?另外,通过映射模型而不是现在这样做是否有任何好处?

回答

1

我认为最简单和最务实的方式就是你现在正在做的事情,即在更新之后“手动”插入必要的新实体。这是在模型版本升级后填充孤立实体的一种常见方式,并且非常好。