gpt4 book ai didi

swift - 代码仅从 Firebase 中的数据中检索一个值

转载 作者:搜寻专家 更新时间:2023-11-01 07:04:33 26 4
gpt4 key购买 nike

如标题所示,我正在尝试从 firebase 数据库中检索一些数据,但我的代码无法正常工作。我在名为“标题”、“描述”和“用户名”的“帖子”中有三个 child (我想你就是这样称呼他们的),我正在尝试获取所有这些 child 并将它们附加到一个变量中以供以后使用,但它只检索每个值的第一个值,尽管事实上有 5 个值。任何人都知道为什么?顺便说一下,我在我的 ViewDidLoad 上调用这个函数。

let postDB = Database.database().reference().child("Posts")
postDB.queryOrderedByKey().observeSingleEvent(of: .value) { (snapshot) in
if let snapshotValue = snapshot.value as? NSDictionary {

let postTitle = snapshotValue["title"] as? String
let postUsername = snapshotValue["username"] as? String
let postDesc = snapshotValue["description"] as? String

let postArray = postStruct(title: postTitle, description: postDesc, username: postUsername)
self.newPost.insert(postArray, at: 0)

}

My Firebase Database.

最佳答案

import UIKit
import FirebaseDatabase

class HomeViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
// MARK: - variables
var postDB: DatabaseReference!

override func viewDidLoad() {
super.viewDidLoad()

// getting a node from database //
postDB = Database.database().reference().child("Posts")

// observing data changes //
postDB.observe(DataEventType.value) { (dataSnapshot) in
self.postArray.removeAll()
if dataSnapshot.childrenCount > 0 {
for post in dataSnapshot.children.allObjects as! [DataSnapshot] {
let object = post.value as! [String: Any]
let description = object["description"] as! String
let title = object["title"] as! String
let userName = object["username"] as! String
let model = postStruct(title: title, description: description, username: userName))
self.postArray.append(model)
}
}
self.tableView.reloadData()
}
}
}

关于swift - 代码仅从 Firebase 中的数据中检索一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48847821/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com