Ios Firebase侦听器返回nil

Ios Firebase侦听器返回nil,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我似乎无法检索节点“Users”下的子节点,我试图将侦听器返回的值放入字典中,然后访问它以检索名称 "Users" : { "GwXI9G1V0mSim8NGGbH18pjzpby2" : { "name" : "youssef abdelsalam", "profileImageUrl" : "default", "sex" : "Male" }, 这是我的firebase数据库 var postData = [String]() o

我似乎无法检索节点“Users”下的子节点,我试图将侦听器返回的值放入字典中,然后访问它以检索名称

 "Users" : {
    "GwXI9G1V0mSim8NGGbH18pjzpby2" : {
      "name" : "youssef abdelsalam",
      "profileImageUrl" : "default",
      "sex" : "Male"
    },
这是我的firebase数据库

var postData = [String]()


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    tableView.delegate = self
    tableView.dataSource = self

    userRef = Database.database().reference().child("Users")

    databaseHandle = userRef?.observe(.value, with: { (DataSnapshot) in


        let post:[String:String]? = DataSnapshot.value! as? Dictionary


        if let actualPost = post!["name"]{
            self.postData.append(actualPost)
            self.tableView.reloadData()
            print("\(actualPost)")
        }

    })


}

由于
/Users
下可能有多个用户节点,因此需要在代码中处理这些节点。最简单的方法是在快照.children上循环:userRef=Database.Database().reference().child(“用户”)


它仍然不显示任何内容…在(post![“name”])行展开可选内容时,会弹出一个错误,指出已找到nil。在这种情况下,您可能需要检查字典中的值。
databaseHandle = userRef?.observe(.value, with: { (snapshot) in

    for userSnapshot in snapshot.children.allObjects as! [DataSnapshot] {
        let post:[String:String]? = userSnapshot.value! as? Dictionary

        if let actualPost = post!["name"]{
            self.postData.append(actualPost)
            self.tableView.reloadData()
            print("\(actualPost)")
        }
    }

})