【发布时间】:2020-07-01 19:11:08
【问题描述】:
Ian 构建一个使用儿子数据进行 Web 服务的应用程序我使用 QuickType 网站将儿子数据转换为结构,但现在我不知道如何在解码儿子数据后访问该结构的成员 这是我需要解码和打印坐标值的整个视图控制器文件,以便我可以在地图工具包中访问它
import UIKit
import MapKit
import Foundation
struct Welcome: Codable {
let locations: [Location]
}
// MARK: - Location
struct Location: Codable {
let coordinates: Coordinates
let country, countryCode: String
let id: Int
let latest: Latest
let province: String
enum CodingKeys: String, CodingKey {
case coordinates, country
case countryCode = "country_code"
case id, latest, province
}
}
// MARK: - Coordinates
struct Coordinates: Codable {
let latitude, longitude: String
}
// MARK: - Latest
struct Latest: Codable {
let confirmed, deaths, recovered: Int
}
class ViewController: UIViewController {
@IBAction func btn(_ sender: UIButton) {
loaddata()
}
@IBOutlet weak var mapview: MKMapView!
override func viewDidLoad() {
super.viewDidLoad()
}
func loaddata()
{
let url = URL(string: "https://coronavirus-tracker-api.herokuapp.com/v2/locations")
var session = URLSession.shared
var data = session.dataTask(with: url!) { (data, response, error) in
let decoder = JSONDecoder()
do
{
var info = try decoder.decode(Welcome.self, from: data!)
print(info.locations[0].coordinates.latitude) }
catch
{
print("\(error)")
}
}
}
}
【问题讨论】: