我决定通过添加几个关系(2-3)关系来改变我的核心数据结构。如何切换到新的核心数据堆栈,但仍然保留旧的实现(方法,数据.)。我们是否需要创建新的xcdatamodel
,以及如何切换到新的xcdatamodel?
任何帮助都是非常感谢的
发布于 2016-08-05 10:22:43
当您更改数据模型时,还需要将更改通知CodeData。为此,需要“轻量级迁移”。要告诉核心数据我们想要执行轻量级迁移,我们需要在startCoreData()方法中配置持久存储协调器时设置两个属性。首先,NSMigratePersistentStoresAutomaticallyOption需要是true,它告诉核心数据在模型更改时升级其SQLite数据库。其次,coordinator.addPersistentStoreWithType(NSSQLiteStoreType,还需要NSInferMappingModelAutomaticallyOption为true,它告诉核心数据在模型更改时找出不同之处,并在可能的情况下应用合理的默认设置,创建optionsDictionary如下:让mOptions = NSMigratePersistentStoresAutomaticallyOption: true,NSInferMappingModelAutomaticallyOption: true在optionsDictionary配置中传递这个optionsDictionary:0,URL: url,选项: mOptions),这样就可以了!
发布于 2016-08-05 08:48:33
如果您正在使用已经在Apple Store上的现有应用程序,那么创建一个新的数据模型是非常重要的
若要创建新的数据模型,请执行以下步骤:
.xcdatamodeld
,然后转到文件导航器。将新模型标记为当前版本。希望这能帮到你:)
https://stackoverflow.com/questions/38784884
复制相似问题