MVVM Example

本文通过一个简单的UITableView示例,讲解如何在iOS应用中采用MVVM设计模式。首先创建Model,利用struct解析JSON数据。接着在ViewModel中处理业务逻辑,实现依赖注入。最后在ViewController中绑定ViewModel,利用updateCallback更新UITableView。
摘要由CSDN通过智能技术生成

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:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值