如何写一个mvvm demo架构的demo



方便对职责进行划分,例如可以让初级开发开发UI,高级开发开发逻辑
代码更加优雅,增加可维护性


本文使用ReactiveCocoa来完成了绑定这个功能,但使用它之前首先需要了解他的几个特点:


这是┅个很重型的框架,几乎替代了苹果官方所有的事件机制
每个人的代码风格都不尽相同,使用该框架需要团队成员几乎每天都要互相review团队成员嘚代码
好处当然也是有的:响应式,高聚合,低耦合


需求: 当用户输入完手机号与四位验证码时,进行手机号规则校验,通过后进行登录请求

我们可以看到,Controller层仅仅是单向绑定了输入框与ViewModel的字符属性,代码已经很简洁了.

头文件这里command在外界并没与用上,但其他viewModel可能会用上所以还是拿了出来.

这里有幾个坑需要说一下:

最近项目想换成mvvm demoHabit框架然而这才剛用,我就发现了一个问题文档关于ViewPager这一块的内容几乎没有,没办法只好自己去研究了,顺便写个demo让自己和其他人学习学习我先创建了必备的GuidanceActivity、GuidanceViewModel、GuidanceItemViewModel,还有两个布局文件代码很简单,这里就不赘述了直接贴代码:

 
因为我这边imgUrl没有设置值,考虑到因网络原因拿不到引導页的网络图片链接然而测试的时候就发现我的默认图片也没有显示出来,这是为什么呢查看了一下源码发现这样一段:
 //使用Glide框架加載图片
 
想要改成判断是否为null即可,结果却发现还是会有问题于是给ImageView设置一个src,可以直接在布局xml文件中写死如果希望默认图片有多种的話,就可以写成"android:src="@{viewModel.drawable}"再根据不同情况去viewModel里面用代码控制即可。就这样对于如何使用mvvm demoHabit中的ViewPager的理解告一段落了。

我要回帖

更多关于 mvvm demo 的文章

 

随机推荐