Swift 使用Alamofire从API获取响应

Swift 使用Alamofire从API获取响应,swift,uitableview,alamofire,Swift,Uitableview,Alamofire,我使用Alamofire从API获取响应,将数据加载到TableView中,但是我的Alamofire函数可以工作,但仅在某些视图控制器中,我不明白我做错了什么。我知道它是alamofire函数,因为我使用了调试器来跟踪我的数据和代码,但我看到了一个问题,即函数永远不会位于函数的第一行之前 阿拉莫菲尔函数 Alamofire.request("\(baseURL)").responseJSON { response in if let dict = response.re

我使用Alamofire从API获取响应,将数据加载到TableView中,但是我的Alamofire函数可以工作,但仅在某些视图控制器中,我不明白我做错了什么。我知道它是alamofire函数,因为我使用了调试器来跟踪我的数据和代码,但我看到了一个问题,即函数永远不会位于函数的第一行之前

阿拉莫菲尔函数

Alamofire.request("\(baseURL)").responseJSON { response in
            if let dict = response.result.value as? [[String: Any]] {
                for obj in dict {
                    let latest = LatestNews(getLatest: obj)
                    self.moreNews.append(latest)
                }
            }
            self.tableView.reloadData()
        }
阵列和模型类

 var latestNews: LatestNews!

 var moreNews = [LatestNews]()

“它在某些视图控制器中工作,但在其他视图控制器中不工作”,这是因为您正在后台线程上重新加载tableView。您必须将其移动到主线程,如下所示:

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