0
我有一個UITableView將與該功能正確加載:如何處理childAdded一樣observeSingleEvent
channelRef?.observeSingleEvent(of: .value, with: { (snapshot) in
self.updateTableViewWithPlayers(snapshot: snapshot)
})
func updateTableViewWithPlayers(snapshot: FIRDataSnapshot)
{
print(snapshot)
let storage = FIRStorage.storage()
let storageRef = storage.reference(forURL: "gs://omega-towers-f5beb.appspot.com")
if let snapDict = snapshot.value as? [String:AnyObject]{
for each in snapDict{
print(each.value)
let UIDs = each.value["userID"] as? String
let pictureVersion = each.value["PictureVersion"] as? String
if let allUIDS = UIDs{
if let allPictureVersions = pictureVersion{
如果有1個用戶在其它打印此爲輸出:
Snap (-KeEan584BeCQ0eJ2dxs) {
"-KeEb2XMrCUFLfO90y0v" = {
PictureVersion = 6;
userID = N4GifT8HvfRrDEkC09ARC1DnYyI3;
username = pietje;
};
name = sdddd;
}
{
PictureVersion = 6;
userID = N4GifT8HvfRrDEkC09ARC1DnYyI3;
username = pietje;
}
這很好。現在我想,當一個新的用戶連接中更新的tableview我添加了這個功能。
channelRef?.observe(.childAdded, with: { (snapshot) -> Void in
self.updateTableViewWithPlayers(snapshot: snapshot)
})
此打印出:
Snap (-KeEbYVJIle8dhP1Oyxm) {
PictureVersion = 6;
userID = N4GifT8HvfRrDEkC09ARC1DnYyI3;
username = pietje;
}
6
pietje
N4GifT8HvfRrDEkC09ARC1DnYyI3
我不知道爲什麼這個輸出是不同的。我想有一個函數可以處理這兩個函數(觀察和observeSingleEvent),但我不知道爲什麼觀察功能無法正常工作。誰能幫我嗎?
謝謝,但我的問題是爲什麼上述函數不適用於childAdded,但適用於observeSingleEvent。謝謝。 – Petravd1994
沒關係,我得到它的工作。我刪除了整個observeSingleEvent,並使用childAdded,因爲它遍歷所有現有的孩子。 – Petravd1994
太棒了!是的,這就是我的意思。 – Pink