Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.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

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 RealmSwift线性偏移_Ios_Swift_Database_Xcode_Realm - Fatal编程技术网

Ios RealmSwift线性偏移

Ios RealmSwift线性偏移,ios,swift,database,xcode,realm,Ios,Swift,Database,Xcode,Realm,你好,我有一个关于领域迁移的问题。 我理解您需要使用线性迁移,因为用户可能不会在每次重新设置版本时更新,因此他们使用的数据库方案可能与当前版本中使用的数据库方案不同。 我有以下代码: let configuration = Realm.Configuration( schemaVersion: 3, migrationBlock:migrationBlock) func migrationBlock(migration:Migration,oldVersion:Int){ if olVersio

你好,我有一个关于领域迁移的问题。 我理解您需要使用线性迁移,因为用户可能不会在每次重新设置版本时更新,因此他们使用的数据库方案可能与当前版本中使用的数据库方案不同。 我有以下代码:

let configuration = Realm.Configuration( schemaVersion: 3, migrationBlock:migrationBlock)
func migrationBlock(migration:Migration,oldVersion:Int){
if olVersion<2{
migrateFrom1To2(migration)
}
if oldVeraion<3{
migrateFrom2To3(migration)
}
}
let configuration=Realm.configuration(schemaVersion:3,migrationBlock:migrationBlock)
func migrationBlock(迁移:迁移,旧版本:Int){

如果从模式版本1到模式版本3进行线性迁移时olVersion,则
oldVersion
的值为1

将发生的情况是,第一个
if
语句(
if oldVersion<2
)将为true,这意味着将调用
migrateFrom1To2(migration)
,并对
MigrationObject
执行所需的更改

然后,到达第二个
if
语句(
if oldVersion<3
),该语句也是真的(因为oldVersion仍然是1),这意味着您将像以前一样在相同的
MigrationObject
上执行
migrateFrom2To3(migration)
,包括在
migrateFrom1To2(migration)
中所做的更改