2013-05-12 84 views
0

我有一个应用程序,利用核心数据。核心数据实体之一是代表枚举的NSInteger。在我的下一个版本中,枚举值已经改变,我需要将旧枚举重新映射到新枚举。在这种情况下,CoreData迁移是否正确?

在这种情况下,核心数据迁移是一种合适的方法,因为模型没有改变,只是我对数据的解释。我试图实施迁移政策,但我无法实现它(我的迁移政策从未执行)。

谢谢!

--John

回答

0

如果你已经添加了几个新的价值观,以枚举的结束,那么我也不会迁移任何事情,只要确保旧号码仍然等于旧值。

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

让数据库结构中的旧枚举保留,但让NSManagedObject的子类在两者中的任何一个发生更改(或类似的情况)时更新两个值。