我在我的项目中使用 Realm,我想知道 realm.write()
方法是否是同步的。
我的例子在这里:
let realm = try! Realm()
try! realm.write {
realm.delete(message)
}
realm.invalidate()
在上面的例子中,我正在删除一个 Realm 对象和我写的外括号 invalidate()
这是我的困惑:
如果
write()
是同步的,那么invalidate()
就可以了如果 Async 比之前 write invalidate 会调用,realm 会释放但操作在后台运行
谢谢
最佳答案
Realm.write 是同步的。 It just calls realm.beginWrite()
/realm.commitWrite()
with some error handling :
public func write(_ block: (() throws -> Void)) throws {
beginWrite()
do {
try block()
} catch let error {
if isInWriteTransaction { cancelWrite() }
throw error
}
if isInWriteTransaction { try commitWrite() }
}
关于ios - Swift Realm Write方法是Sync或Async Thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41630594/