在更新我的应用程序时,我遇到了很大的概念问题。这是我现在得到的:
- 具有 CoreData 生成模型的应用程序,具有给定的捆绑包 ID 等。
- 具有 CoreData 生成模型的第二个应用程序,具有与 1 中相同的包 ID。
应用程序版本 1 和 2 之间的模型在删除某些关系和不使用某些模型(也被删除)的方式上有所不同。我刚刚将用户设置移动到用户默认值,而不是从数据库中获取它们,这是一项昂贵的操作。
现在我想用我的第二个版本 (2) 来更新我的应用程序 (1)。我不知道如何在这种情况下进行迁移。我想保留用户设置并将它们从模型 (1) 移动到用户默认值并用模型 (2) 替换模型 (1)。
我已经阅读了关于核心数据迁移的内容,但是这些示例都反映了使用单个项目并创建另一个版本的核心数据模型,因为 (2) 完全是新项目(当然我有访问(1)的源代码)。
我正在考虑使用两个数据库(如果有更好的解决方案,请纠正我),从(1)获取用户设置并将它们写入用户默认值,然后删除数据库(1)并仅使用(2)。如果在我的情况下这是正确的方法,我如何在单个项目中使用两个不同的 xcdatamodeld 文件?