我注意到访问领域对象存在许多问题,我认为我的解决方案将解决这些问题。
因此,我编写了这样一个简单的帮助方法:
public func write(completion: @escaping (Realm) -> ()) {
DispatchQueue(label: "realm").async {
if let realm = try? Realm() {
try? realm.write {
completion(realm)
}
}
}
}
我原本以为使用完成块会很好,因为每次我写入对象或更新它时,我都使用上面的方法。
不幸的是,我遇到了错误:
libc++abi.dylib: terminating with uncaught exception of type realm::IncorrectThreadException: Realm accessed from incorrect thread.
completion
是什么作用呢? - EpicPandaForce