2016-05-13 65 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

相关问题