领域迁移枚举无法执行

时间:2015-11-27 00:16:26

标签: ios swift exc-bad-access realm

我正在为我的iOS项目使用领域。当我按照doc说的那样执行迁移时,

    // 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
                }
            }
    })

我的应用会崩溃。错误如下所示

enter image description here

似乎对migration.enumerate()的调用只会崩溃。 如果我不调用这个方法,一切都很好,除了我必须手动设置我的新添加属性。

[UPDATE]

找到Same issue

2 个答案:

答案 0 :(得分:1)

正如你自己想象的那样,这是一个带有Realm的known issue,直到版本0.96.2,修补程序将随下一个版本一起提供。作为现在的解决方法,我建议使用CocoaPods从主分支的头部构建,通过使用它可以更容易地实现:

 pod 'RealmSwift', :head
 pod 'Realm', :head

注意:我建议您在下一个版本发布之后还原该更改并再次使用标记版本,这样可以更轻松地找出问题并跟踪更新和更新时所需的操作。

答案 1 :(得分:0)

像这样issue表示修改Podfile为

pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git'
pod 'Realm', :git => 'https://github.com/realm/realm-cocoa.git'