iOS 解耦 --- 利用ViewModel沟通 View 与 ViewController

前言:之前利用过 ViewModel 进行过 UITableView 相关的业务解耦。新年后,结合曾经看过的一个网友的思路,我这里针对事件传递,又做了一次改进,思路是将事件通过 ViewModel 进行传递。

场景:

tableView 列表页 某个Cell 中的按钮点击, 会触发ViewController 中 获取新数据,并刷新列表

具体代码

我这里是按照我的习惯这么创建的,和上面链接里的习惯一样


创建VC、ViewModel、Cell、Model 4个角色

接下来在 AViewModel 中 定义事件回调


image

然后,VC中这样创建ViewModel


image

之后,Cell中拿到响应事件后,通过VM传递出去


image

最后,VC中,响应事件

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,148评论 1 32
  • 回顾2017,整年对公司现有App进行了大大小小接近20版本的迭代,因为原有项目创建较早,代码质量上并不算高(早年...
    詹姆斯洪尼古拉斯利阅读 5,119评论 7 25
  • 2017.02.22 可以练习,每当这个时候,脑袋就犯困,我这脑袋真是神奇呀,一说让你做事情,你就犯困,你可不要太...
    Carden阅读 1,383评论 0 1
  • Lancy's Blog Blog Archives About MeTwitterWeiboGitHubRSS ...
    其实也没有阅读 5,543评论 0 24
  • 芒果台制作的《变形计》已经来到了第十四个年头,与美国动辄超过10季的《天桥风云》《全美超模》等相比,中国很少有真人...
    是阿麦啊阅读 913评论 0 0