在Firebase中获取所有用户的名字

时间:2017-10-15 13:48:09

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

我正在尝试在Firebase数据库中检索所有用户的 firstnames 。将它们添加到数组的最佳方法是什么?

Firebase数据库

-Users
   -UserId1
     - firstname: James
   -UserId2
     - firstname: Jennifer

Swift代码

let rootRef = Database.database().reference()  
let query = rootRef.child("Users").queryOrdered(byChild: "firstname")
query.observeSingleEvent(of: .value) { 
    (snapshot) in
    for child in snapshot.children.allObjects as! [DataSnapshot] {
        let value = snapshot.value as? NSDictionary
        let firstname = value?["firstname"] as? String ?? ""
        print(firstname)
    }
}

1 个答案:

答案 0 :(得分:2)

可能只是一个错字;)您应该在循环中使用child而不是snapshot。例如,尝试替换以下行:

let value = snapshot.value as? NSDictionary

使用:

let value = child.value as? NSDictionary