RAC是ReactiveCocoa家族一员。这是一个响应式家族,在我看来RAC完全配得上:“编程思想之集大成者” 这个称号!在内部封装的函数式、面向对象、响应式、封装很多关于iOS原生,最大限度便利的开发者使用!
很多博客都说RAC好用,但发现很少有如何学习RAC的文章。不知道该从哪入手,在这里小编也整理了一份关于RAC的路线图,希望对读者有所帮助。不好勿喷!
一:RAC初级用法:RAC在实际开发中的作用
- 代替KVO
- 代理
- 通知
- 手势
- UI交互拦截
- RAC元组
——RAC数组遍历
——RAC字典遍历
——RACTuple的使用 - 定时器的操作:与传统定时器的区别以及线程情况
二:RAC基本形式
- 信号的产生:creat的RACDunamicSignal的流程处理
- 订阅:subscriber订阅者的事件处理,以及回调
- 发送信号
——sendNext:发送一般信号的毁回调处理
——sendError:针对错误信号的销毁处理
——sendComplete:完成信号的与sendError错误的异同点,以及对信号的处理 - 销毁信号
——RACCompundDisposable销毁集中营的销毁历程
三:RAC进阶用法
- 信号拦截–bind原理
- 映射:map与flattenMap
- 过滤:filter、ignore、 distinctUntilChanged
- 合并:combineLatest、reduce、merge、zipWith
- 取舍:take、takeLast、takeUnti,skip
- 信号操作时间:timeout、interval、dely
- 获取信号中的信号: switchToLatest
- 信号节流: throttle
- 信号操作多线程:deliverON、subscribeOn
- 底层的封装和实现
四:RAC核心底层原理
- RACSignal
——分析signal的流向和保存,发送,以及销毁过程-----利用图解分析
——RACSubjct:便捷式信号工作流程
——RACComman:命令信号的工作流程* 创建命令信号
* 命令信号执行情况判断
* 命令信号状态
* 执行命令
——其他信号* 空信号:RACEmptySignal
* 通道信号:RACChannelTerminal流程分析
* 返回信号:RACReturnSignal的应用场景
* 错误信号:RACErrorSignal
- RACDisposable
- RACSubscriber
- RACStream:流式走向
- RACScheduler调度者
五:RAC内存管理
- 循环引用分析
- RAC下循环引用的分析
- 循环引用的释放
- RAC在内存管理中优化
六:RAC宏定义
- RAC强大提示,预编译
- RACObserver
- strongify,weakify
- RACTuplePack,RACTupleUnpack
七:其他须知
- 二叉树
- 递归锁
- 互斥锁
- 线程
- lock
- ublock
结语
以上就是这篇文章的全部内容了,希望本文的内容对大家具有一定的参考学习价值