DimensionGroup
我也尝试过使用for循环将其追加到数组中,但这也不起作用。任何帮助将不胜感激。
答案 0 :(得分:1)
我要检查的第一件事是返回的数据正确。
保护块是触发返回还是数据正常?
JSON是否能够正确解码响应?
是否填充了articles
对象中的apiResults
。
接下来的事情是,您不打算将apiResults.articles
的内容添加到列表中,而是使列表变成apiResults.articles
之前的样子。
尝试以下操作并查看其运行方式:
class NetworkManager{
// better declaration syntax
var articleList: [Article] = []
func downloadJsonData() {
let jsonUrl = "https://newsapi.org/v2/everything?sources=nfl-news&apiKey=mykey"
guard let url = URL(string: jsonUrl) else { return }
URLSession.shared.dataTask(with: url) { data, response, err in
//check err
//check response status
guard let data = data else { return }
do{
let apiResults = try JSONDecoder().decode(ApiResults.self, from: data)
//article list remains empty
//appends contents instead of assignment
self.articleList.append(contentsOf: apiResults.articles)
} catch let err{
print(err)
}
}.resume()
}
}