let url = URL(string: "https://api.letsbuildthatapp.com/jsondecodable/courses")
URLSession.shared.dataTask(with: url!) { (data, response, err) in
guard let data = data else { return }
do {
let appData = try JSONDecoder().decode([App].self, from: data)
print(appData)
} catch let err {
print("Err", err)
}
}.resume()
这就是我解析json的方式。但是我想将那些解析后的数据添加到我的数组中,以使用它来填充mytableview。
struct App: Decodable {
var id: Int
var name: String
}
var apps = [App]()
这是在控制台中打印出appData之后得到的。
[CustomTableView.App(id:1,名称:“ Instagram Firebase”), CustomTableView.App(id:2,名称:“播客课程”), CustomTableView.App(id:3,名称:“中级培训核心数据”), CustomTableView.App(id:4,名称:“ Kindle基础培训”)]
您能帮我理解这个概念吗,因为我是iOS的新手,并且进行了大量搜索以找到答案。非常感谢
这是我的完整代码
答案 0 :(得分:1)
添加:
self.apps = appData
在print(appData)
下
答案 1 :(得分:1)
您需要这样做
DispatchQueue.main.async {
self.apps = appData
self.tableView.reloadData()
}
OR
DispatchQueue.main.async {
self.apps.append(contentsOf:appData)
self.tableView.reloadData()
}