MVVM Example
用MVVM的设计做一个简单的UITableview
首先是Model
我这里用一个rest api “https://api.tvmaze.com/shows/216?embed=seasons&embed=episodes”
把我想要的properties用struct 列出来,这样在一会破解json的时候比较方便使用
为了方便使用,我这里只需要 _embedded 里的episodes, episodes里有每一集的名字,哪一集,id, 上映时间,简介等信息
这里我会先用playground去测试我写的properties是否正确,还有URLsession是否写的正确
import UIKit
struct object: Decodable {
let _embedded: embeddedContainer
}
struct embeddedContainer: Decodable {
let episodes: [episodesContainer]
}
struct episodesContainer: Decodable {
let number: Int
let name: String
let summary: String
}
let urlString = "https://api.tvmaze.com/shows/216?embed=seasons&embed=episodes"
let url = URL(string: urlString)!
URLSession.shared.dataTask(with: url) { (data, _, _) in
guard let data = data else { return }
let json = try? JSONDecoder().decode(object.self, from: