我已經添加了新的數組屬性的RLMObject和斯威夫特域屬性「*」已經被添加到最新的對象模型遷移
public class Student: RLMObject {
dynamic var id = 0
dynamic var name = ""
dynamic var resultList = RLMArray(objectClassName:Result.className())
}
public class Result: RLMObject {
}
錯誤日誌:
遷移所需的對象類型「學生'由於以下原因 錯誤: - 屬性'resultList'已被添加到最新的對象模型。
TRY失敗:
let configuration:RLMRealmConfiguration = RLMRealmConfiguration.defaultConfiguration()
migration.enumerateObjects(Student.className()) { oldObject, newObject in
newObject!["resultList"] = RLMArray(objectClassName: Result.className())
}
編輯:
let configuration:RLMRealmConfiguration = RLMRealmConfiguration.defaultConfiguration()
print("Realm db current version: \(configuration.schemaVersion)")
configuration.schemaVersion = 1
configuration.migrationBlock = {(migration:RLMMigration, oldSchemaVersion: UInt64) in
print("Realm db migration start")
if oldSchemaVersion < 1 {
print("Schema version: 1 - Rename fields")
migration.enumerateObjects(Student.className()) { oldObject, newObject in
newObject!["creationDate"] = oldObject!["createdAt"]
newObject!["modifiedDate"] = oldObject!["updatedAt"]
}
}
print("Realm db migration finish")
}
RLMRealmConfiguration.setDefaultConfiguration(configuration)
let realm = RLMRealm.defaultRealm()
SOLUTION:
更新您的版本,以+1
configuration.schemaVersion += 1
你似乎使用相當老版本的Realm? – Shripada
遷移對象來自哪裏?你對你的配置做了什麼改變嗎? – marius
@marius更新了我的完整代碼 – AJit