在这种情况下,核心数据迁移是否正确?

时间:2013-05-12 03:55:58

标签: ios core-data

我有一个使用核心数据的应用。其中一个核心数据实体是表示枚举的NSInteger。在我的下一个修订版中,枚举值已更改,我需要将旧枚举重新映射到新枚举。

在这种情况下,核心数据迁移是一种合适的方法,因为模型没有改变,只是我对数据的解释。我试图实现迁移策略,但我无法使其工作(我的迁移策略永远不会执行)。

谢谢!

- 约翰

1 个答案:

答案 0 :(得分:0)

如果您在枚举结尾处添加了几个新值,那么我就不会迁移任何内容,只需确保旧数字仍然等于旧值。

如果您更改了每个枚举所代表的值,那么您不应该首先使用枚举,因为枚举永远不应该更改。在这种情况下,我会添加一个新列或关系,最好不要在这次使用枚举。

将旧的枚举保留在数据库结构中,但是当任何一个值发生更改时(或类似的东西),让NSManagedObject的子类处理更新这两个值。