我有一个使用Core Data的iPhone应用程序。

我进行了更新,并使用轻量级迁移从MOM(受管对象模型)的V1到V2。这工作得很好。

当我想转到MOM的V3(及更高版本)时会发生什么?

  • 如果我决定继续进行轻量级迁移,它将自动处理从MOM的V1到V3以及从V2到V3的迁移,还是我需要做些额外的事情?
  • 如果我决定使用映射模型,会发生什么?如何处理将V1和V2 MOM都升级到V3?我是否需要为V1到V3和V2到V3创建映射模型?
  • 这个问题更进一步……当我拥有V6 MOM并且仍需要支持从V1 MOM升级的可能性时,会发生什么?

  • 另一个问题是确定当前MOM版本的最佳方法是什么?我应该使用isConfiguration:compatibleWithStoreMetadata:

    感谢您的协助。我爱Core Data。但这有时会使我的头旋转,并使我感到困惑,这就是为什么我要寻求一些圣人的智慧。

    最佳答案

    最初的发布是在几个月前,但是我认为最好的答案是在Marcus Zarra的Core Data书中(或在代码示例中在线查找)。谷歌的“progressivelyMigrateURL”和一个将找到用于逐步迭代模型的代码-这将允许人们创建从模型n到模型n + 1的映射,而不必担心在所有模型对之间创建映射的组合爆炸式增长。

    这可能会导致运行时迁移速度变慢。我还没有对此进行调查。

    关于iphone - 跨多个版本升级的核心数据迁移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1557344/

    10-11 00:36