IOS如何在与现有核心数据增加更多关系后使用核心数据?

我决定通过增加几个关系(2-3)关系来改变我的核心数据结构。 如何切换到新的核心数据栈,但仍然保持旧的实现(方法,数据….)。 我们是否需要创build新的xcdatamodel以及如何切换到新的xcdatamodel?

任何帮助非常感谢

当您更改数据模型时,还需要通知CodeData。 为此,需要使用“LightWeightMigration”。 为了告诉Core Data我们要执行轻量级迁移,我们需要在startCoreData()方法中configuration持久存储协调器时设置两个属性。 首先,NSMigratePersistentStoresAutomaticallyOption需要为true,它告诉Core Data在模型更改时升级它的SQLite数据库。 其次,NSInferMappingModelAutomaticallyOption也需要为true,它告诉核心数据找出模型更改时的差异,并应用合理的默认值,如果可能的话创buildoptionsDictionary,如下所示:let mOptions = [NSMigratePersistentStoresAutomaticallyOption:true,NSInferMappingModelAutomaticallyOption:true]传递此选项Dictionary在coordinator.addPersistentStoreWithType(NSSQLiteStoreType,configuration:无,url,url,选项:mOptions)你很好去!

如果您正在使用Apple Store中已有的应用程序,那么创build新的数据模型非常重要

要创build新的数据模型,请执行以下步骤:

  1. 打开Xcode项目/工作区
  2. select你的数据模型文件
  3. 进入菜单并点击编辑菜单。 点击Add-> Add Model版本
  4. 为您命名新的模型版本,并select以前的活动版本作为基础模型。
  5. 再次select.xcdatamodeld ,然后转到文件导航器。 将新模型标记为当前版本。
  6. 开始在新的数据库模型上工作。

希望对你有帮助 :)