获得Firebase儿童价值

时间:2017-04-27 01:52:12

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

我需要在UID之后访问每个孩子:

JSON

Json2

我需要访问+ vvvv值。并将这些值放在我的数组中,以便tableView单元格加载所有值*。

在调用firebase时,只需要帮助如何获取这些值。

例如:

+message_view
   +UID
      +value1
      +value2
      +value3

我需要访问这些值并将它们放入我的tableView单元格中。

 override func viewDidLoad() {
        super.viewDidLoad()

        let userID = FIRAuth.auth()?.currentUser?.uid

        if let userId = userID {
            ref.child("message_view").child(userId).observeSingleEvent(of: .value, with: {(snapshot) in

            let snapDict = snapshot.value as? NSDictionary




            //Assign array values
            self.messageDataArray.insert(postStruct(message: theValueIwant), at: 0)


            //self.tableView.reloadData()


        })

1 个答案:

答案 0 :(得分:0)

假设您的UID下的值是字符串,您可以执行以下操作。如果它们不是字符串,只需更改数据数组的类型并转换为正确的类型。

override func viewDidLoad() {
    super.viewDidLoad()

    let userID = FIRAuth.auth()?.currentUser?.uid

    if let userId = userID {
        ref.child("message_view").child(userId)
           .observeSingleEvent(of: .value, 
                               with: {(snapshot) in
            var dataArray = [String]()
            for child in snapshot.children {
                let childSnapshot = child as! FIRDataSnapshot
                dataArray.append(child.value as! String)
            }

            //do anything with dataArray
        })
    }
}

for child in snapshot.children循环运行完毕后,您将UID的所有子项都作为数组,并可以随意执行任何操作。