ios - 修改核心数据模型每次都需要新版本?

标签 ios core-data core-data-migration

我一直在四处寻找,让我弄清楚这一点,每次我更改实体的属性时,我都需要创建一个全新版本的模型吗?我知道 SQLite 数据库现在与我的数据模型不同步,但我不能只删除 sql 文件并重新运行我的模拟器吗?这就是我一直在做的事情,但它似乎并没有奏效。

最佳答案

您是对的,对核心数据模型的任何更改都必须在新的核心数据模型版本中进行。您可以通过重置模拟器中的内容和设置,或在安装前删除设备上的旧应用程序版本,避免为开发构建执行此操作。但是,对于商店构建,您必须正确管理您的模型版本,以便用户将他们的持久性商店正确迁移到具有新模型的新商店。需要版本控制,以便可以执行轻量级迁移,而无需编写自定义迁移代码。如果您不想对模型进行版本控制,则必须编写代码来正确迁移您的实体。这可能需要大量工作并且难以维护,您宁愿使用轻量级迁移和版本控制。

关于ios - 修改核心数据模型每次都需要新版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20364660/

相关文章:

ios - 启动TestFlight构建需要花费几秒钟(App Store应用很好)

ios - react native : What controls number in red circle on app icon on iPhone screen?

objective-c - 无法使用 nil 模型创建 NSPersistentStoreCoordinator

macos - migratePersistentStore : to another URL on OS X 10. 9 Mavericks 后访问 NSManagedObject 属性时发生崩溃

ios - 无法在iOS中读取database.sqlite文件(没有这样的表METADATA)

ios - 核心数据迁移: How should i change the data type from bool to int in next version

ios - 尝试构建登录时出现条件绑定(bind)错误的初始化程序

ios - applicationWillEnterForeground 的问题

ios - 在 iCloud 环境中检测应用程序 (IOS/OSX) 的首次运行

ios - 复杂的 NSPredicates : comparing values on the most-recent object