如何快速将json附加到数组中

时间:2018-07-16 12:37:43

标签: arrays json swift uitableview object

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的新手,并且进行了大量搜索以找到答案。非常感谢

这是我的完整代码

enter image description here

2 个答案:

答案 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()
}