Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个利用核心数据的应用程序。核心数据实体之一是代表枚举的 NSInteger。在我的下一个版本中,枚举值发生了变化,我需要将旧枚举重新映射到新枚举。
在这种情况下,Core Data 迁移是一种合适的方法吗,因为模型没有改变,只是我对数据的解释。我已尝试实施迁移策略,但无法使其正常工作(我的迁移策略从未执行)。
谢谢!
- 约翰
如果您在枚举末尾添加了几个新值,那么我不会迁移任何东西,只需确保旧数字仍然等于旧值。
如果您更改了每个枚举所代表的值,那么您首先不应该使用枚举,因为枚举永远不应该更改。在这种情况下,我会添加一个新的列或关系,这次最好不要使用枚举。
将旧枚举保留在数据库结构中,但让您的 NSManagedObject 子类在任何一个更改(或类似的东西)时更新这两个值。