无法更新领域对象

时间:2018-12-24 10:45:12

标签: ios swift realm

我正在快速更新领域中的对象,但出现错误。

  

***由于未捕获的异常“ RLMException”而终止应用程序,原因:“从错误的线程访问了领域。”

我的代码:-

let realm = try! Realm()
let cont = Contact()
cont.notes = self.notee
cont.id = self.oneCont.id //i.e id of current object
cont.email = self.email


try! self.realm.write {
   self.realm.add(cont,update:true)
}

2 个答案:

答案 0 :(得分:0)

Realm的经验法则是在创建的同一线程上使用Realm实例。在您的代码示例中,您似乎创建了一个领域实例,但是稍后您使用self.realm。您可能只需要使用刚创建的Realm实例。

答案 1 :(得分:0)

您拥有一个本地领域

let realm = try! Realm()

但是随后您要使用

来写类var域
try! self.realm.write {

您应该将其更改为使用相同的本地域

let realm = try! Realm()
let cont = Contact()
cont.notes = self.notee
cont.id = self.oneCont.id //i.e id of current object
cont.email = self.email

try! realm.write {
   realm.add(cont,update:true)
}