iOS 中使用 MVVM,复杂的 Cell 的 ViewModel 应该如何去写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 中使用 MVVM,复杂的 Cell 的 ViewModel 应该如何去写相关的知识,希望对你有一定的参考价值。
参考技术A mvvm是一种架构模式,虽然不依赖其他东西,但在ios上还是会ReactiveCocoa实现起来方便一点,RAC(self. userNameLabel, text) = RACObserve(self. viewModel, userName);比如这个,label和viewModel中的userName绑定,ViewModel中的userName改变时,userNameLabel会自动更新,而不用你手动setText
MVVM模式在iOS中常用场景
参考技术A 使用MVVM模式可以让Model--ViewModel--UI间形成绑定关系,Model数据变化可以通过VM直接更新UI;
在实际的场景,比如一些复杂的情况:
那MVVM该如何设计呢?
核心业务逻辑还是交给ViewModel处理,暴露接口给外部调用, ViewController/View 只做订阅。使用 RACSubject(ReactiveObjc)或PublishSubject(RxSwift) 来发送数据。
OC
Swift
假设同时有以下请求:用户信息、钱包信息、订单信息;拿到全部回调后才会更新UI
OC
Swift
需要先获取用户信息,再通过用户信息获取钱包信息
OC
Swift
最多允许请求失败的次数为 retryTimes ,超过 retryTimes 则停止任务,发送错误原因
OC
Swift
以上是关于iOS 中使用 MVVM,复杂的 Cell 的 ViewModel 应该如何去写的主要内容,如果未能解决你的问题,请参考以下文章