使用 Alamofire 从 API 获取响应
Posted
技术标签:
【中文标题】使用 Alamofire 从 API 获取响应【英文标题】:Getting response from API using Alamofire 【发布时间】:2018-05-21 20:22:38 【问题描述】:我正在以将数据加载到表视图中,但是我的 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】:您遇到的问题..“它在某些视图控制器中有效,但在其他视图控制器中无效”,是您在后台线程上重新加载 tableView 的结果。您必须像这样将其移动到主线程:
DispatchQueue.main.async
self.tableView.reloadData()
【讨论】:
以上是关于使用 Alamofire 从 API 获取响应的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire - 如何从 AFError 获取 API 错误
Alamofire 获取请求和 JSON 响应(Yelp API)