版本记录
| 版本号 | 时间 |
|---|---|
| V1.0 | 2017.08.07 |
前言
RAC可以简化很多我们的代码,具有很大的天然优势,还是要学一学的,我接下来这几篇就从ReactiveCocoa的基础到深入和大家说一下RAC的使用方法,希望对自己对大家有所帮助。
框架基本概览
ReactiveCocoa可以说是结合了函数式编程和响应式编程的框架,也可称其为函数响应式编程FRP框架,强调一点,RAC虽然最大的优点是提供了一个单一的、统一的方法去处理异步的行为,包括delegate方法,blocks回调,target-action机制,notifications和KVO。但是不要简单的只是单纯的认为他仅仅就是减少代码复杂度,更好的配合MVVM。
下面还是先给出RAC github的基本地址吧。

ReactiveCocoa
下面我们就先看一下作者吧。

作者
向这位技术牛人致敬~~~
框架基本架构
下面我们就看一下框架的基本架构
最新版的RAC已经支持了 swift,OC集成可能会有点问题,所以可以集成2.5.0一下的版本。我这里集成的就是OC版本的。
pod 'ReactiveCocoa', '~>2.1.8'
先看一下框架的组织结构。

组织架构
主要的代码都在Core这个文件夹里面了,下面我就带大家看一下这个文件夹里的内容。

代码架构1

代码架构2

代码架构3

代码架构4
从上面框架组织文件的名字中,我们可以初步得到以下结论:
- 它整合了很多的数据类型,比如
NSArray+RACSequenceAdditions - 它整合了很多的原生控件,比如
UITableViewCell+RACSignalSupport - 它整合了其他的很多逻辑和机制,比如
RACKVOChannel-KVO等。
以上这些是我们从代码组织架构里面得到的基本信息,后续随着我们对框架了解的深入,一定会有更深层次的了解,我们会收获更多。
架构层次和应用领域
下面先看一下RAC架构的层次设置。

RAC层次架构
RAC主要应用的领域和方向如下所示。

应用领域
后记
这篇只是概览,后面会继续跟进,从浅入深,希望对大家有所帮助。

大爱深秋