【问题标题】:Getting response from API using Alamofire使用 Alamofire 从 API 获取响应
【发布时间】:2018-05-21 20:22:38
【问题描述】:

我正在使用 Alamofire 从 API 获取响应以将数据加载到表视图中,但是我的 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]()

【问题讨论】:

    标签: swift uitableview alamofire


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-12-22
      • 1970-01-01
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 2020-04-27
      • 2014-09-16
      • 2017-09-12
      相关资源
      最近更新 更多