您可以使用子事件處理更新到單個子節點。
// save updates a dictionary with the snapshot key
// being the dictionary key
var items = [String: FDataSnapshot]()
let ref = Firebase(url: "<my-firebase-app>")
// listen to various child events and update the data source
ref.observeEventType(.ChildAdded) { (snap: FDataSnapshot!) in
items[snap.key] = snap
}
ref.observeEventType(.ChildChanged) { (snap: FDataSnapshot!) in
items[snap.key] = snap
}
ref.observeEventType(.ChildRemoved) { (snap: FDataSnapshot!) in
items.removeValueForKey(snap.key)
}
...我應該聽這個對象,其中包含 所有對象(這聽起來像的「請求時間」浪費的父值
沒想到在這方面對重要的要求。 Firebase使用WebSockets。一旦WebSocket建立起來,它就保持與服務器的持久連接。向套接字發送數據需要很少的開銷。
But, I would actually use FirebaseUI,這是一個用於將Firebase數據同步到UITableView和UICollectionView的庫。
let firebaseRef = Firebase(url: "https://<YOUR-FIREBASE-APP>.firebaseio.com/")
let dataSource: FirebaseCollectionViewDataSource!
...
self.dataSource = FirebaseCollectionViewDataSource(ref: self.firebaseRef, cellReuseIdentifier: "<YOUR-REUSE-IDENTIFIER>", view: self.collectionView)
self.dataSource.populateCellWithBlock { (cell: UICollectionViewCell, obj: NSObject) -> Void in
let snap = obj as! FDataSnapshot
// Populate cell as you see fit, like as below
cell.backgroundColor = UIColor.blueColor()
}
self.collectionView.dataSource = self.dataSource
哇大衛!非常感謝!幫助我一噸。當然,我會檢查了這一點。我還有幾個問題,是否可以通過快速聊天來關閉我的好奇心? –
我很想回答您的任何問題,但SO評論部分並非最佳媒介。隨意問這個問題,我會盡我所能來回答! –
啊真棒,我會:)剛剛來到我的腦海。可以創建聊天室嗎?我會做一個博客文章的所有結論以及(所以其他開發人員可以享受) –