ios RxSwift使用初探

穆展鹏
2023-12-01

返回上级目录:ReactiveCocoa(RAC)/RxSwift(响应式编程)

RX是一种基于变化产生过程的编程范式。简单来说,就是当某些改变发生的时候,依赖这些改变的对象如何得到通知以及如何响应这些改变。传统的编程方式的思路,是基于通知和处理过程的。因此,我们会指定delegate,实现对应的callback方法,当App和用户的交互日益频繁和复杂,特别是如果一个用户交互需要引发一连串的UI响应时,这样的思维方式就会让代码变得凌乱和繁杂。所谓的Massive View Controller也正是如此产生的,我们需要一种更好的解决方案。在这个系列里,我们就以RxSwift为例,熟悉reactive programming编程思想,并了解它在一些常用开发场景里的实践。

RxSwift相当于是swift版的ReactiveCocoa,是一个超重量级的第三方框架,通过它可以接管苹果所有的事件机制,如addTarget,代理,通知,KVO.

也就是说用到苹果事件机制的地方都可以用RxSwift以更简单的方式来实现,如UIButton的点击事件,对UITextField输入内容的监听过滤,UITableView的数据绑定和cell的展示,以及cell的点击事件,都可以用RxSwift来更简洁方便的实现

因为RxSwift的学习曲线比较陡峭,所以在团队协作,和考虑其他人对你代码的维护的情况下要慎用(其他人要看得懂你写的RxSwift代码)

github地址 - ReactiveX/RxSwift

RxSwift中文文档

参考博客:
RxSwift & MVVM
RxSwift 使用详解系列
RxSwift核心逻辑
给 iOS 开发者的 RxSwift(一)

 类似资料: