首页 > 解决方案 > 表视图不从数据库重新加载数据

问题描述

我试图在视图加载和视图出现时重新加载我的表格视图。我正在从数据库中提取数据,所以我认为我的问题与速度有关。这个函数在我的视图中调用确实加载并且视图确实出现了,我尝试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()
    }

标签: iosswiftfirebase-realtime-databasetableview

解决方案


您可以使用异步调度队列,可能是它的工作。之后你的数据就会放在哪里。

DispatchQueue.main.async { self.tblHome.reloadData() }


推荐阅读