0
一旦啓用,我一直面臨一些與Firebase持久性有關的問題,我有機會通讀剩餘的已發佈問題,並回顧那裏的答案,但仍然沒有工作要做如預期。Firebase通過值觀察獲取緩存數據的舊值
我已啓用Firebase持久性並使用按值觀察來獲取特定節點的最近更新。不僅它保持獲取舊值,而且一旦我離開特定的視圖控制器並返回到該視圖控制器,該值將變爲最近的值。
有沒有正確的方法來要求在第一次通話最近的價值?
碼我曾嘗試:
// MARK: Bill authenticate function
func authenticateBill(completion: @escaping (_ bill: Double?, _ billStatus: BillError?) -> Void) {
// Observe incase bill details exist for current case
let billRef = self.ref.child("bills").child((caseRef?.getCaseId())!)
billRef.observe(FIRDataEventType.value, with: { (billSnapshot) in
if !billSnapshot.exists() {
completion(nil, BillError.unavailable)
return
}
if let billDictionary = billSnapshot.value as? [String: AnyObject] {
let cost = billDictionary["cost"] as! Double
print("Cost: ", cost)
completion(cost, nil)
}
})
}
我曾嘗試添加* keepSync *真值,但仍然遇到相同的問題,首先加載舊值並稍後加載新值@DougStevenson –