我正在尝试在加载视图和显示视图时重新加载我的表视图。我正在从数据库中提取数据,所以我认为我的问题与速度有关。在我的视图中确实加载了该视图并且确实出现了该函数,在我尝试过在各个位置调用tableView.reloadData()
时会调用此函数,但是在加载视图时,它不会使用值来加载表视图。点击博客按钮时,表格视图的确会填充。
func articleRefresh(){
DataService.instance.getAllArticles { (returnedArticlesArray) in
self.blogArray.removeAll()
self.newsArray.removeAll()
self.rosterArray.removeAll()
self.draftArray.removeAll()
self.articleArray.removeAll()
for article in returnedArticlesArray {
if article.category == "blog" {
self.blogArray.append(article)
}
else if article.category == "news" {
self.newsArray.append(article)
}
else if article.category == "roster" {
self.rosterArray.append(article)
}
else if article.category == "draft" {
self.draftArray.append(article)
} else {
self.blogArray.append(article)
}
}
self.newsArray.reverse()
self.rosterArray.reverse()
self.draftArray.reverse()
}
}
@IBAction func BlogPressed(_ sender: Any) {
articleArray.removeAll()
self.articleArray = self.blogArray
tableView.reloadData()
}
答案 0 :(得分:0)
您应该在数据源更新后在回调中调用tableView.reloadData()
。我想您的情况应该放在self.draftArray.reverse()
之后。
答案 1 :(得分:0)
您可以使用异步调度队列,也许是可行的。在那之后,您将数据放在哪里。
DispatchQueue.main.async {
self.tblHome.reloadData()
}