【发布时间】:2017-01-27 23:24:28
【问题描述】:
在后台异步保存对象时,我得到 RLMException: 'Can not add objects from a different Realm'。但是,如果删除异步代码,相同的保存工作正常。
此对象与现有对象有关系。例如:
class Person: Object {
name: String
school: School
}
class School: Object {
name: String
}
let person = new Person()
person.name = "John"
person.school = school // Existing object selected from a dropdown.
DispatchQueue.global().async {
do {
let realm = try Realm!
try realm.write {
realm.add(person, update: true)
}
DispatchQueue.main.async {
// Success!
}
} catch let error as NSError {
DispatchQueue.main.async {
// Error!
}
}
}
此代码会导致崩溃。但是,如果我删除 DispatchQueye.global().async,一切正常。我遇到了一些线程问题吗?
注意:school 对象是预先存在的,并且是从 Results<School> 集合中选择的。
【问题讨论】:
标签: swift realm realm-mobile-platform