使用Alamofire从API获得响应

时间:2017-12-07 16:52:24

标签: swift uitableview alamofire

我正在使用Alamofire从API获取响应以将数据加载到tableviews中但是我的alamofire函数可以工作但只在某些视图控制器中我不明白我做错了什么。我知道它的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]()

1 个答案:

答案 0 :(得分:1)

您遇到的问题......“它在某些视图控制器中有效,但在其他视图控制器中无效”,是您在后台线程上重新加载tableView的结果。您必须将其移动到主线程,如下所示:

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