我需要知道什么时候完成了火基的观察

时间:2017-02-12 21:32:55

标签: ios swift firebase firebase-realtime-database

我正在尝试使用firebase一次观察多个数据,观察块保持循环,直到它获取所有数据。我需要知道它何时实际完成,所以我可以执行另一个块。我怎么能这样做?

databaseRef.child("First_Secondary_Grade").child("0").child("0").queryOrderedByKey().observe(.childAdded, with: {
        (snapshot) in

        if let dictoinary = snapshot.value as? [String: AnyObject] {

            let dataofthequsation = structofthedata()

            dataofthequsation.setValuesForKeys(dictoinary)

            }

    })

1 个答案:

答案 0 :(得分:1)

我想我想出来了

   databaseRef.child("First_Secondary_Grade").child("0").child("0").observeSingleEvent(of:.value, with:{ (snap) in
        gotitall = Int(snap.childrenCount)
        databaseRef.child("First_Secondary_Grade").child("0").child("0").observe(.childAdded, with: {
            snapshot in
            if let dictoinary = snapshot.value as? [String: AnyObject] {

                let dataofthequsation = structofthedata()

                dataofthequsation.setValuesForKeys(dictoinary)
                self.dataofthequsation.append(dataofthequsation)

// this is will run when the block runs through all children

                if gotitall == self.dataofthequsation.count {
                    completion()
                }
            }
        })
    })

//首先,您需要观察单个事件以获得swift 3中儿童的实际数量。观察将计算儿童内部的键。这就是原因!

{{1}}