Swift面向协议的强大之处,相对于OC的面向对象的解耦

感触之言

相信大家对于OC的面向对象的开发都已经了然于胸,不必多说.在Swift中的面向协议开发,进一步使代码块之间的耦合性更低,针对于不同的需要,你可以选择性的选择继承或者extension来选择为某一个类新增方法

正文

假设我现在有一个枚举值


登录的返回状态的枚举值

我下面为这个枚举值添加的二个属性值


获取枚举属性传入的字符串的值


为枚举值创建了一个颜色的属性

接下来我使用RXSwift进行实现的,我在控制器初始化了二个控件


一个是ViewModel,一个是RXSwift用到的属性

导入RXswift的podfile中的文件

pod 'RxSwift'

pod 'RxCocoa'

pod 'RxDataSources'

podfile中导入的第三方库

紧接着需要在viewModel定义属性来监听,同时获取输入的值


一个变量,一个监听者

LoginResult上面已经讲过了,是一个枚举值,增加了二个属性值

在viewModel中的监听者需要初始化


根据text的长度来返回不同值


上面全部完成以后,接下来最重要的工作是在控制器绑定和监听属性值并赋值


绑定viewModel中的变量,另一个是监听信号,并赋值


效果图如下(不能上传短视频,只能上传一张图了)


效果图


具体代码地址:代码

如有错误和需要改正的地方,请指出评论,谢谢各位看官

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

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,851评论 6 13
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,196评论 4 61
  • 对呀,又一次毫无准备,踏上了旅途。 一早上,手机都处于飞行模式,所以,没有什么可以打扰到我。午饭空闲当儿,才知道实...
    唯i阅读 1,618评论 0 0
  • 先要趴UI层级看个究竟 可以用系统的recursiveDescription方法 打印当前View的层级 打印所有...
    MonsterNanny阅读 4,890评论 0 0
  • 明天又要出发,一路西北,新疆,猫又来了!
    猫猫乖阅读 988评论 0 0