我注意到访问领域对象有很多问题,我认为我的解决方案就是解决这个问题.
所以我写了这样简单的帮助方法:
public func write(completion: @escaping (Realm) -> ()) {
DispatchQueue(label: "realm").async {
if let realm = try? Realm() {
try? realm.write {
completion(realm)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我认为完成块会很好,因为每次我写对象或更新它时,我都使用上面的方法.
不幸的是我收到了错误:
libc++abi.dylib: terminating with uncaught exception of type realm::IncorrectThreadException: Realm accessed from incorrect thread.
Run Code Online (Sandbox Code Playgroud)