0

我正在关注有关 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 []
        }
    }
4

0 回答 0