领域迁移枚举无法执行
Realm migration enumerate can not execute
我正在为我的 iOS 项目使用领域。当我按照文档所说执行迁移时,
// Migrtion
Realm.Configuration.defaultConfiguration = Realm.Configuration(
schemaVersion: 1,
migrationBlock: { migration, oldSchemaVersion in
if oldSchemaVersion < 1 {
migration.enumerate(WishHistory.className()) { oldObject, newObject in
let createdTime = oldObject!["createdTime"] as! NSDate
newObject!["satisfiedTime"] = createdTime
}
}
})
我的应用程序会崩溃。错误如下
似乎调用 migration.enumerate()
会崩溃。
如果我不调用这个方法,一切都很好,除了我必须手动设置我的新添加 属性。
[更新]
找一个Same issue
点赞issue表示修改Podfile为
pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git'
pod 'Realm', :git => 'https://github.com/realm/realm-cocoa.git'
如您所想,这是 Realm 的 known issue,直到 0.96.2 版本发布,下一个版本将提供修复。作为目前的解决方法,我建议使用 CocoaPods 从 master 分支的头部构建,您可以使用以下方法更轻松地实现:
pod 'RealmSwift', :head
pod 'Realm', :head
注意:我建议您在下一个版本发布后恢复该更改,并再次使用标记版本,这样可以更轻松地找出问题并跟踪更改和更新时所需的操作。
我正在为我的 iOS 项目使用领域。当我按照文档所说执行迁移时,
// Migrtion
Realm.Configuration.defaultConfiguration = Realm.Configuration(
schemaVersion: 1,
migrationBlock: { migration, oldSchemaVersion in
if oldSchemaVersion < 1 {
migration.enumerate(WishHistory.className()) { oldObject, newObject in
let createdTime = oldObject!["createdTime"] as! NSDate
newObject!["satisfiedTime"] = createdTime
}
}
})
我的应用程序会崩溃。错误如下
似乎调用 migration.enumerate()
会崩溃。
如果我不调用这个方法,一切都很好,除了我必须手动设置我的新添加 属性。
[更新]
找一个Same issue
点赞issue表示修改Podfile为
pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git'
pod 'Realm', :git => 'https://github.com/realm/realm-cocoa.git'
如您所想,这是 Realm 的 known issue,直到 0.96.2 版本发布,下一个版本将提供修复。作为目前的解决方法,我建议使用 CocoaPods 从 master 分支的头部构建,您可以使用以下方法更轻松地实现:
pod 'RealmSwift', :head
pod 'Realm', :head
注意:我建议您在下一个版本发布后恢复该更改,并再次使用标记版本,这样可以更轻松地找出问题并跟踪更改和更新时所需的操作。