第二次调用领域失败被称为

时间:2017-05-12 10:41:38

标签: swift realm

我有一个从api检索数据的服务,它返回我映射的json,然后填充到Realm,最后将其显示给视图。

我有办法让用户强制刷新数据检索,这意味着我还需要更新我的Realm数据。这在第一次调用方法时工作正常。但是,如果我再次尝试这样做,它会在每次出现此异常时崩溃。

*** Terminating app due to uncaught exception 'RLMException', reason: 'Can only add, remove, or create objects in a Realm in a write transaction - call beginWriteTransaction on an RLMRealm instance first.'

这就是我的功能:

private func writeCollection(someKey: String?) {
    let realm = try! Realm()
    try! realm.write {
        realm.add(someObject[someKey!]!, update: true)
    }
}

1 个答案:

答案 0 :(得分:0)

这个错误发生在最初想到的不同功能中。我拿着这样的字典[someKey:someObject]并使用这个字典作为参考来写。

问题是这是在尝试之外! realm.write

// removed this reference
// var dictionary = [String:SomeObject]()

realm.write {
        let someObject = SomeObject()
        someObject.id = someKey
        realm.add(someObject, update: true)
}