Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 迁移可以在没有多个数据模型版本的情况下完成。万岁?_Ios_Swift_Core Data_Migration - Fatal编程技术网

Ios 迁移可以在没有多个数据模型版本的情况下完成。万岁?

Ios 迁移可以在没有多个数据模型版本的情况下完成。万岁?,ios,swift,core-data,migration,Ios,Swift,Core Data,Migration,我指的是关于核心数据迁移的精彩教程 图坦卡蒙表示,核心数据的迁移与数据模型的多个版本齐头并进 我正在进行轻量迁移的实验,并得出以下几点: 场景-我有一个数据模型,我试图向实体添加一些新属性,但得到一个错误,如- iOS版本-9.1 Swift版本-2.2 “用于打开商店的型号与用于打开商店的型号不兼容 “创建存储” 然后,我尝试在不创建任何新版本的情况下启用迁移,方法是添加代码- let options = [ NSMigratePersistentStoresAutomaticallyOpti

我指的是关于核心数据迁移的精彩教程

图坦卡蒙表示,核心数据的迁移与数据模型的多个版本齐头并进

我正在进行轻量迁移的实验,并得出以下几点:

场景-我有一个数据模型,我试图向实体添加一些新属性,但得到一个错误,如-

iOS版本-9.1 Swift版本-2.2

“用于打开商店的型号与用于打开商店的型号不兼容 “创建存储”

然后,我尝试在不创建任何新版本的情况下启用迁移,方法是添加代码-

let options = [ NSMigratePersistentStoresAutomaticallyOption : true, NSInferMappingModelAutomaticallyOption : true ]

try persistentStoreCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: URLPersistentStore, options: options)
然后我尝试以类似的方式修改数据库,即在实体中添加一个属性,这并没有导致崩溃。即使我尝试访问特定的实体和属性,但还是成功了

所发生的是没有多个版本的迁移

问题- 那么,在没有多个版本的数据模型的情况下,迁移是可能的吗?


链接到示例代码-

从iOS 9开始,Core Data会将数据模型复制到持久性存储中,并在需要和请求进行轻量迁移时将其作为起点。因此,即使旧模型版本不可用,也可以进行轻量迁移。这仅适用于SQLite persistent存储,并且仅用于轻量级模型迁移


这在2015年世界数据中心的会议上有描述。

什么版本的iOS?@TomHarrington请检查编辑的问题。iOS版本-9.1