gpt4 book ai didi

swift - 如何在 Swift 4 中跟踪 Firebase iOS 的离线交易

转载 作者:行者123 更新时间:2023-11-28 14:26:45 25 4
gpt4 key购买 nike

在我的应用程序中,我在特定的 child 上使用 Database.database().isPersistenceEnabled = truefirebaseReference.keepSynced(true)

但在 Firebase 文档中指出,如果应用已离线,事务不会在应用重新启动时保留:

enter image description here

是否有委托(delegate)人或观察员或其他任何人告诉我什么交易失败,以便我遵循 Firebase 的最佳实践建议并将它们存储在本地离线数据库中?

我没有得到一个对象来告诉我交易是否失败,或者没有失败?

open func uploadObject<T: ClientObject>(of type: T.Type, with firebaseQuery: FirebaseQuery, object: T, completion: ((Error?) -> Void)? = nil) {

let query = firebaseQuery.queryPath
let path = firebaseQuery.firebasePath.getPath(with: query, subPath: firebaseQuery.subPath)
let prefix = firebaseQuery.firebasePath.prefix

let serialized = object.serialized

let child = path + prefix + object.uuid

if object.uuid.isEmpty {

let message = Log.Message.uuidMissing("Object UUID is empty for: \(child) object: \(serialized) at: \(#file), \(#function)")
Log.notify(message)
}

self.reference.child(child).setValue(serialized) { error, _ in

Log.error(error, at: #function, line: #line)
completion?(error)
}
}

最佳答案

当用户下线时,交易没有回调或委托(delegate)被删除。如果您希望您的应用能够优雅地处理离线情况,则不应依赖代码中的事务。

关于swift - 如何在 Swift 4 中跟踪 Firebase iOS 的离线交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51508064/

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