gpt4 book ai didi

ios - 在用户看到之前在 TableView 中显示数组

转载 作者:行者123 更新时间:2023-11-30 11:53:54 25 4
gpt4 key购买 nike

我正在努力从 Firebase 中提取数据并将其显示在 TableView 中。我用收到的数据填充一个数组,并使用该数组填充表格 View ,但是数据没有显示。

我意识到问题是在填充数组之前加载了 TableView 。我尝试将 reloadData 放入 viewdidload 中,但这会使数据在显示后弹出并且看起来不干净。

如何让tableview在 View 出现之前加载数据,以便过渡平滑?

此代码位于我的 viewdidload 方法内:

let categoryRef = Database.database().reference().child("category/\(category)")
let user = Auth.auth().currentUser
if let user = user {
let uid = user.uid
categoryRef.observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.hasChildren(){
for child in (snapshot.value as? NSDictionary)! {
if let object = child.value as? [String:AnyObject]{
let name = object["name"] as! String
self.nameArray.append(name)
self.categoryDict["\(name)"] = child.key as! String
}

}
}

})
}

}

最佳答案

尝试在附加所有子项后重新加载数据:

let categoryRef = Database.database().reference().child("category/\(category)")
let user = Auth.auth().currentUser
if let user = user {
let uid = user.uid
categoryRef.observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.hasChildren(){
for child in (snapshot.value as? NSDictionary)! {
if let object = child.value as? [String:AnyObject]{
let name = object["name"] as! String
self.nameArray.append(name)
self.categoryDict["\(name)"] = child.key as! String
}

}
self.tableView.reloadData()
}

})
}

}

关于ios - 在用户看到之前在 TableView 中显示数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48039088/

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