我需要在UID之后访问每个孩子:
我需要访问+ 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()
})
答案 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的所有子项都作为数组,并可以随意执行任何操作。