gpt4 book ai didi

ios - Swift Realm Write方法是Sync或Async Thread

转载 作者:搜寻专家 更新时间:2023-10-31 08:06:07 27 4
gpt4 key购买 nike

我在我的项目中使用 Realm,我想知道 realm.write() 方法是否是同步的。我的例子在这里:

 let realm = try! Realm()
try! realm.write {
realm.delete(message)
}
realm.invalidate()

在上面的例子中,我正在删除一个 Realm 对象和我写的外括号 invalidate()

这是我的困惑:

  1. 如果write()是同步的,那么invalidate()就可以了

  2. 如果 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com