2016-05-13 36 views
2

我試圖找出我的鑰匙有多少個子,但是當我嘗試使用你如何讓孩子們在Firebase中快速數數?

var count = 0 

ref.observeEventType(.Value, withBlock: { snapshot in 

     count += snapshot.childrenCount 
    }) 

它給了我一個錯誤。我應該怎麼做?

+0

如果你只是想孩子計數,然後使用ref.observeSingleEventOfType(.value的...然後self.childCount = snapshot.childrenCount。離開它喜歡它是會繼續養活事件對你的應用程序時的東西在任何節點發生變化時,它會不斷更新計數,因此如果有3個孩子,計數= 3,但隨後某些變化,比如添加了一個節點,然後計數= 3 +新的孩子計數。在節點中,計數將遞增 – Jay

回答

3

這很奇怪......你發佈的內容適合我......也許DataObject不是預期的......通過添加斷點並查看快照是什麼來測試這一點。

你可以試試這個吧......應該得到相同的結果一個不爲你工作,所以也許它不會工作之一:

snapshot.value.count 

編輯: 啊,我想想我知道你爲什麼不能讓孩子們數一數!嘗試投射快照到FDataSnapShot!因此,嘗試

ref.observeEventType(.Value, withBlock: { (snapshot: FDataSnapshot!) in 
     count += snapshot.childrenCount 
    }) 
+0

您是否認爲FIRDataSnapshot? – KawaiiFX

+0

不是。我的意思是FDataSnapshot。雖然在新的Firebase 2.0 SDK中似乎更改爲FIRDataSnapshot。 – Jaime

相關問題