Ios 领域迁移:更新多个对象和回退策略?
我不知道如何移植多个对象。例如,如何在对象设置和人员上引入字符串“标识符”Ios 领域迁移:更新多个对象和回退策略?,ios,swift,realm,Ios,Swift,Realm,我不知道如何移植多个对象。例如,如何在对象设置和人员上引入字符串“标识符” func configureRealm(){ Realm.Configuration.defaultConfiguration = Realm.Configuration( schemaVersion: 1, migrationBlock: { migration, oldSchemaVersion in migratio
func configureRealm(){
Realm.Configuration.defaultConfiguration = Realm.Configuration(
schemaVersion: 1,
migrationBlock: { migration, oldSchemaVersion in
migration.enumerate(Settings.className()) { oldObject, newObject in
if oldSchemaVersion < 1 {
newObject!["identifier"] = NSUUID().UUIDString
}
}
})
}
func configureRealm(){
Realm.Configuration.defaultConfiguration=Realm.Configuration(
阴谋厌恶:1,
migrationBlock:{migration,oldSchemaVersion in
migration.enumerate(Settings.className()){oldObject,newObject在
如果oldschemaversation<1{
新对象![“标识符”]=nsuid().UUIDString
}
}
})
}
是否可以引入一种通用的回退策略:当迁移失败时,模型应该重置?在迁移块中,您只需添加对
migration()的调用。为Person
对象枚举(\)
:
func configureRealm(){
Realm.Configuration.defaultConfiguration = Realm.Configuration(
schemaVersion: 1,
migrationBlock: { migration, oldSchemaVersion in
migration.enumerate(Settings.className()) { oldObject, newObject in
if oldSchemaVersion < 1 {
newObject!["identifier"] = NSUUID().UUIDString
}
}
migration.enumerate(Person.className()) { oldObject, newObject in
if oldSchemaVersion < 1 {
// change whatever needs to be changed
}
}
})
}
thx-我试着在块之间用逗号-变得复杂。也许您可以将其添加到文档中?我应该添加什么?如何更新两个对象。这就是我问的原因。但我的答案中已经有了。它更新所有
设置
对象和所有人员
对象。你需要分别列举每一个对象,对不起,我以为你是来自领域。官方文件应包含这样一个例子。你的答案很完美
do {
let realm = try Realm()
...
} catch {
let path = RLMRealmConfiguration.defaultRealmPath()
try! NSFileManager.defaultManager().removeItemAtPath(path)
}