这是迁移的代码(在didFinishLaunchingWithOptions中){
Realm.Configuration.defaultConfiguration = Realm.Configuration(
schemaVersion: 3,
migrationBlock: { migration, oldSchemaVersion in
// The enumerateObjects:block: method iterates
// over every 'Person' object stored in the Realm file
migration.enumerate(User.className()) { oldObject, newObject in
if oldSchemaVersion < 1 {
newObject!["crashTest"] = ""
}
if oldSchemaVersion < 2 {
}
}
}) let realm = try!Realm()
这是错误:
致命错误:'试试!'表达式意外地引发了错误:Error Domain = io.realm Code = 0“由于以下错误,需要迁移: - 属性'crashTest'已被添加到最新的对象模型中 . ” UserInfo = {NSLocalizedDescription =由于以下错误而需要迁移: - 已将属性'crashTest'添加到最新对象模型 . }:file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-700.1.101.15 /src/swift/stdlib/public/core/ErrorType.swift,第50行
1 回答
如果您仅在本地开发中,我建议您重置您的领域数据库,而不是进行迁移 . 您可以通过删除模拟器或设备上的应用程序来重置数据库 . 或者,您可以尝试使用NSFileManager在访问数据库之前删除领域文件 .
let defaultPath = Realm.Configuration.defaultConfiguration.fileURL?.path try! FileManager.default.removeItem(atPath: defaultPath!)