[英]How can I call a post ID from a Firebase Database
我想做的是调用某个帖子 ID:
取决于在 UITableView 上点击哪个单元格,并在不同的 ViewController 上显示来自它的数据。 目前,每个帖子都有不同的 ID 以及上图中显示的数据
我已经看到这种方法用于根据 ID 调用用户名:
let uid = FIRAuth.auth()?.currentUser?.uid
FIRDatabase.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in
if let dictionary = snapshot.value as? [String: AnyObject] {
self.userLabel.text = dictionary["username"] as? String
}
})
是否可以使用上面屏幕截图中所示的帖子 ID 来执行此操作? 如果是这样,最简单的方法是什么?
好的,我简化了代码只是为了更容易解释。
首先在你的方法之外创建一个名为postID
的变量,并将其设置为 FIRDatabase.database().reference().childByAutoID()
let postID = UUID().uuidString
然后在您的 postObject 中添加另一组并设置您之前声明的变量"postID": postID
let postObject: Dictionary<String, Any> = [
"uid": uid,
"title": title,
"price": price,
"rating": rating,
"description": description,
"username" : username,
"image": self.imageFileName,
"postID": self.postID
]
最后替换FIRDatabase.database().reference().child("posts").childByAutoID().setValue(postObject)
与FIRDatabase.database().reference().child("posts").child(self.postID).setValue(postObject)
我遇到了和你类似的情况。 另一种方法是从字典键中获取 postID。
此示例将获取所有 postID,但这只是一个起点。
let json = JSON(value)
let keys = value.keys
for element in keys {
var postID = ""
for key in keys {
if element == key {
postID = key
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.