ReactiveCocoa这个框架是做什么用的本篇博客就不做过多赘述了,什么是“响应式编程”也不多聊了,自行Google吧。本篇博客的主题是解析ReactiveCocoa框架中的核心模块ReactiveSwift中的两个核心类的实现,也就是对Event和Observer这两个类进行解析。之所以把这两个类放在一块聊,是因为这两个类比较独立,可以说是ReactiveSwift中的两个原子类Event确切的说是一个枚举,其中有几种事件,而Observer类的对象就是这些事件的发送者。所以把这两个类放在一块是比较合适的。

当然确切的说,本篇博客是对 ReactiveSwift框架 的部分解析,而ReactiveCocoa这个框架又是在ReactiveSwift框架的基础上搭建起来的,所以我们先来看一下ReactiveSwift这个框架中的代码实现。当然,我们之前发表过ReactiveCocoa的相关博文,如《iOS开发之ReactiveCocoa下的MVVM》,该篇博客的主题还是ReactiveCocoa框架的应用,而本篇博客或者说ReactiveCocoa源码解析系列博客是对ReactiveCocoa框架实现的深度解析。当然这种深度解析有一部分是Swift语言层面的,因为ReactiveCocoa框架中有好多Swift语言的高级用法,当然还有一些架构层面的,通过源码实现,我们要分析出这样设计的好处以及优点。

抛去“响应式编程”的概念,ReactiveCocoa的本质还是对“观察者模式”的使用,关于观察者模式,请参考之前的博客《设计模式(二):自己动手使用“观察者模式”实现通知机制》。也可以说ReactiveCocoa是“观察者模式”应用中比较牛X的一个框架。当然,框架在编码实现时还用到了其他设计模式,在解析到相关内容时,我们在对其进行概述。

当然,本篇博客是对ReactiveSwift源码的解析,也就是说你可以在你的工程中仅仅的引入 ReactiveSwift框架 ,GitHub地址为:

网友评论