好吧我從數據庫中讀取數據,並在打印出各個變量時正確輸出。但是,好像數據拒絕追加到數組。有人知道爲什麼我根本弄不清楚。從Firebase數據庫中讀取數據的問題
let commuteBuilder = Commutes()
Database.database().reference().child("Users").child(user).child("Trips").observe(DataEventType.childAdded, with: { (snapshot) in
//print(snapshot)
if let dict = snapshot.value as? NSDictionary {
commuteBuilder.distance = dict["Distance"] as! Double
commuteBuilder.title = dict["TripName"] as! String
commuteBuilder.transportType = (dict["Transport"] as? String)!
}
commuteArray.append(commuteBuilder)
})
print("helper")
print(commuteArray.count)
return commuteArray
好吧,這對我來說更有意義,我明白爲什麼這可能會有用。我的問題是我以前設置我的代碼來使用CoreData,在這種情況下,我正在調用舊數據並將其轉儲到具有此功能的數組中。那麼現在我想爲此使用firebase。我得到了如何使用它來填充說自動更新的表視圖,但我也有用例,我想添加值(距離值)並輸出總距離。 id知道要做的唯一方法是將其轉儲到數組中並執行求和功能。似乎我不能輕鬆地使用它們的異步類型函數。 –
你只需要做不同的事情。當你聽'.child *'事件時,你可以保持一個正在運行的聚合:只是迄今爲止的值的總和。或者,您可以查看'.value'事件,這會一次性爲您提供所有子節點。只需迭代它們,並在每次更改時計算總和。請參閱https://firebase.google.com/docs/database/ios/lists-of-data#listen_for_value_events –