博客> MVVM的简单应用(浅谈自己的认识)
MVVM的简单应用(浅谈自己的认识)
2018-11-13 09:49 评论:0 阅读:403 二日三点
ios MVVM

先上结构图  MVVMAll.png

关于结构的说明

一.网络层 本层用来做网络请求的基础层(说白了就是不想写许多网络请求的代码,所以写个父类继承下).图下 网络层一般包括返回成功,返回错误,请求失败的3类.

 F152FF0E-9340-4F15-B3E6-AE33D6C11EE8.png

二.数据层(这个没必要好说的吧!)本文中的数据就是简单用了姓名和年龄两个属性

 EE9E6533-E4AE-443F-B302-D284F52B1F37.png

三.视图层(就是一个view 上面放了两个label 和 一个按钮 分别用来显示年龄和名字数据 按钮是用来测试回调的 ) 在.h文件中 写了一个block来测试按钮的回调 写了两个string来接受model里的属性

 11935BD2-0E2B-4E46-BDFE-C50087F6716D.png

.m文件中用懒加载的方式加载了控件 用setter方式将数据赋值给控件的属性

 0EF03D45-7F73-47B8-A005-D89F03DE3FC4.png

 B64A4D7F-F2B3-4F36-AD47-575C0F5FCDE1.png

 B1023607-3B38-4FEE-84D2-80AABEFEA6EC.png

 1CDC2450-13BB-44B1-9FD4-595C45D0698D.png

第四.viewModel层

这层主要就是将controller 数据处理和业务逻辑抽出 放在本层 先看.h的写法

 EDEE2965-6D54-4D89-82B5-7604C8F930D9.png

在看.m的写法

 0947B2F0-F5A6-44F1-8AE9-FB336A0B26FE.png

看到了嘛这里是直接在.m文件当中做数据处理了(其实就是将原本cotroller数据处理搬出来)

第五.controller层

 3DD9DE53-47EC-43B3-AE2E-2C4A2A6E0F3D.png

到此一个简单MVVM模式完成了.

构思.在开发过程当中我们常常会碰到比较业务比较复杂的界面,或者一些需要复用的界面,尽管使用了MVC模式但是我们的C层还是看起来比较臃肿,调试的时候看着数百行甚至数千行代码偷偷摸眼泪。所以MVVM就此出生。其实对于我对MVVM的理解很简单,C层代码太多就拆分,但是不是随意的拆分,往往C层代码多其实就是各个显示的模式,显示的数据,关系比较复杂 往往变动一个 你就要哼哧哼哧的判断好几次 在做UI的更新. 用专业术语来讲就是耦合高 不好控制.那么ViewModel其实就是 你要写这些业务逻辑的地方 然后 C层干净多了 看起来方便了 也不要哼哧哼哧判断了 调试的时候 就点点 ViewModel层了

当然MVVM不仅仅那么简单,许多更好 更有趣的设计的方式等你来实现

下一篇:再探MVVM的使用 地址:http://blog.cocoachina.com/article/70010

收藏
0
sina weixin mail 回到顶部