我正在使用Xcode 11.3.1,Swift 5,并尝试通过Web API在表视图中显示数据。因此,在获取数据之后,我想将“名称”数据存储在countryList中。countryList是一个数组。
URLSession.shared.dataTask(with:url!){(数据,响应,错误)在
do
{if error == nil{
let parsedData = try JSONSerialization.jsonObject(with: data!) as? NSDictionary
let tableData = parsedData?["data"] as! NSArray
self.countryList = [tableData.value(forKey: "name") as? String]
print("DEVELOPER: \(self.countryList)")
DispatchQueue.main.async {
self.countryTable.reloadData()
}
}
}
catch{
print(error.localizedDescription)
}
}.resume()
// Web Api
{“状态”:200,“数据”:[{“名称”:“阿富汗”,“ id”:1},{“名称”:“阿尔巴尼亚”,“ id”:2},{“名称”:“阿尔及利亚”,“ id”:3},{“名称”:“美属萨摩亚”,“ id”:4}],“消息”:“所有国家/地区的列表”。}
尝试
guard let data = data else { return }
let parsedData = try JSONSerialization.jsonObject(with: data) as! [String:Any]
let tableData = parsedData["data"] as! [[String:Any]]
self.countryList = tableData.compactMap { $0["name"] as? String }
推荐的
do {
let res = try JSONDecoer().decode(Root.self,from:data)
print(res.data)
}
catch {
print(error)
}
struct Root : Codable {
let status:Int
let data:[Model]
}
struct Model:Codable {
let name:String
let id:Int
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句