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)
中所做的更改