【发布时间】:2019-11-15 12:29:02
【问题描述】:
我正在尝试在视图加载和视图出现时重新加载我的表格视图。我正在从数据库中提取数据,所以我认为我的问题与速度有关。这个函数在我的视图中调用确实加载并且视图确实出现了,我尝试在各个地方调用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()
}
【问题讨论】:
-
这段代码令人眼花缭乱。使用 one 数组作为数据源并将
returnedArticlesArray分配给它。它会解决你的问题 -
然后在viewDidLoad中分离数组?
-
不,忘记数组。声明一个类型为
article的数组并从那里获取所有信息。或者,通过category将数组分组到字典中。 -
这绝对是一种更聪明的方法,但这仍然不能解决我的问题,问题是下载速度不够快
标签: ios swift firebase-realtime-database tableview