我正在关注有关 Swift 4 中新的 Codable 协议的教程。我正在从 iTunes 中检索 JSON。
我已经在符合 Codable 的文件 (SearchResult.swift) 中设置了我的数据模型:
class ResultArray: Codable {
var resultCount = 0
var results = [SearchResult]()
}
class SearchResult: Codable {
var artistName = ""
var trackName = ""
var name: String {
return trackName
}
}
在我的 ViewController (SearchViewController.swift) 中,我正在解码 JSON。我不明白的是ResultArray.self中对Self的引用。结果数组对象未在我进行调用的视图控制器中声明。
func parse(data: Data) -> [SearchResult] {
do {
let decoder = JSONDecoder()
let result = try decoder.decode(ResultArray.self, from: data)
return result.results
} catch {
print("JSON Error: \(error)")
return []
}
}