简介
RxSwift 是 Rx 的 Swift 版本,KVO,异步操作和流全部被统一成抽象序列。这就是为什么Rx会如此简单,优雅和强大。
RxSwift的优势:
复合复用:复用性增强,代码量降低清晰:因为声明都是不可变更的,所以代码函数式编程可读性强易用:容易理解,同时抽象了异步编程,统一代码风格稳定:RxSwift完全通过了单元测试代码高端:代码的层次明显比原生高了很多
RxSwift 的基本用法
基本用法示范:
KVOButtonTextfieldScrollView手势通知定时器网络处理
KVO
普通使用KVO
使用KVO三要素:
- 添加要观察的对象属性
- 添加观察者回调方法
- 销毁观察者
这样即可使用KVO来观察name属性的变化
使用RxSwift实现
按钮点击
常规实现
使用RxSwift实现
textfield
常规实现
需要实现代理方法
使用RxSwift实现
对 textfield.text 和 button.title 进行绑定
但是这个绑定是单向的,如果改变button.title并不会影响textfield.text
滑动scrollView根据偏移量改变背景颜色
常规方法
同样采用KVO来监听偏移量的变化从而更改背景颜色