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

结语

以上就是这篇文章的全部内容了,希望本文的内容对大家具有一定的参考学习价值