检索firebase数据

时间:2016-07-30 08:11:21

标签: ios swift firebase swift2 firebase-realtime-database

这是firebase数据树 enter image description here

有两个父母,每个父母各有两个孩子。如何检索" sex"的所有数据。

这是我的代码。

ref.child("Doctor").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
            if let result = snapshot.children.allObjects as? [FIRDataSnapshot] {
                for child in result {

                    print("Here 1")
                    print(child)
                    let gender = child.value!["sex"] as? String
                    print("Here 2")
                    //print("Sex")
                    print(gender)
                }

            } else {
                print("no results")
            }
        }) { (error) in
            print(error.localizedDescription)
        }

当我打印性别的值时,它显示 nil 值。

1 个答案:

答案 0 :(得分:1)

您正试图跳过代码中的某个级别。您可以监听根节点的值,然后遍历其子节点。这将为您提供节点Msm...eqn...的快照。如果您在这些节点内部进行检查,则它们都没有子属性sex

要解决此问题,请在代码中再添加一个循环以进入推送ID(以-K开头的键):

ref.child("Doctor").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
        if let result = snapshot.children.allObjects as? [FIRDataSnapshot] {
            for child in result {
                for child2 in child.children {
                    let gender = child2.value!["sex"] as? String
                    print(gender)
                }
            }

        } else {
            print("no results")
        }
    }) { (error) in
        print(error.localizedDescription)
    }