gpt4 book ai didi

swift - tableView 不会快速显示数据

转载 作者:行者123 更新时间:2023-11-28 11:59:44 27 4
gpt4 key购买 nike

我正在尝试在 viewController 中创建一个 tableView。我知道这很烦人,但这样 table 看起来好多了。我也在尝试将来自 Firebase 的数据合并到表中。不幸的是,当我运行代码时,它只显示一个空白表格。控制台能够打印所需的数据,但它不会显示在实际的表上。请让我知道我做错了什么。非常感谢!

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var tableView: UITableView!
var user = Auth.auth().currentUser

var users = [Users]()

override func viewDidLoad() {
super.viewDidLoad()

tableView.dataSource = self
tableView.delegate = self

self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")

tableView.reloadData()

fetchUser()

}
func fetchUser() {
Database.database().reference(fromURL: "https://yala-2018.firebaseio.com/").child("users").observe(.childAdded, with: { (DataSnapshot) in


if let dictionary = DataSnapshot.value as? [String: AnyObject] {
let user = Users()
// user.setValuesForKeys(dictionary)

user.name = dictionary["name"] as! String
user.age = dictionary["age"] as! String
user.sex = dictionary["sex"] as! String
self.users.append(user)
print(user.name, user.age)
DispatchQueue.main.async(execute: {
self.tableView.reloadData()
})
}


})
}
func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 0
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return users.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "guide", for: indexPath)

let user = users[indexPath.row]
cell.textLabel?.text = user.name
cell.detailTextLabel?.text = "Age: \(user.age) Sex: \(user.sex)"

// Configure the cell...

return cell
}

func tableView(tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

}

最佳答案

将其更改为 1,因为 0 你的意思是即使有数据也没有显示空 tableView 的部分,或者将其删除,因为默认情况下它是 1

func numberOfSections(in tableView: UITableView) -> Int {

return 1
}

关于swift - tableView 不会快速显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50320510/

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