ReactiveCocoa的使用

  • 对于使用MVC的小伙伴来说,随着业务的增多,代码会显得越来越臃肿。
  • 本人也是如此感觉,于是学习ReactiveCocoa来进行MVVM+RAC架构。
  • 对于ReactiveCocoa的使用,本人会不定时更新。
  • 如果帮助到了各位看官,希望给个星星和Star。

个人Github- ReactiveCocoa的使用案例链接

ReactiveCocoa的使用.png
RACSignal常用操作.png

什么是函数响应式编程?

  • 满足函数式的一些特性
  • 面向离散事件流
  • 流散事件流操作

函数式编程的特性?

  • 闭包&高阶函数
  • 惰性计算
  • 不改变状态
  • 递归

什么是ReactiveCocoa?

  • Github mac客户端副产物
  • FRP在Cocoa框架下的实现
  • 富含了Cocoa框架多种组件
  • 提供基于时间变化的数据流的组合和变化
  • 简称RAC

如何理解基于时间变化的数据流?


ReactiveCocoa基础知识

核心组件

  • RACSteam、 RACSequence、 RACSignal
  • RACSubscriber
  • RACDisposable
  • RACScheduler
  • Cocoa框架适配工具

① RACSteam

RACSteam的两个子类:

  • RACSequence:基于空间的数据流,在时间上是连续的。操作多,消耗高
  • RACSignal:基于时间的数据流,在时间上是离散的。
RACSteam.png

RACSequence VS RACSignal

  • Pull-driver vs Push-driver (看书&看电视)
  • Data vs Event
  • 其他差异

② Signal Subscirber Disposable

Signal Subscirber Disposable

③ RACScheduler

  • 用来做调度
  • 代替GCD
  • 异步与并发

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

推荐阅读更多精彩内容