ReactiveCocoa 是一个非常复杂的框架,在正式开始介绍它的核心组件前,我们先来看看它的类图,以便从宏观上了解它的层次结构:
1451960390500209.png
从上面的类图中,我们可以看出,ReactiveCocoa 主要由以下四大核心组件构成:
- 信号源:RACStream 及其子类;
- 订阅者:RACSubscriber 的实现类及其子类;
- 调度器:RACScheduler 及其子类;
- 清洁工:RACDisposable 及其子类。
其中,信号源又是最核心的部分,其他组件都是围绕它运作的。
对于一个应用来说,绝大部分的时间都是在等待某些事件的发生或响应某些状态的变化,比如用户的触摸事件、应用进入后台、网络请求成功刷新界面等等,而维护这些状态的变化,常常会使代码变得非常复杂,难以扩展。而 ReactiveCocoa 给出了一种非常好的解决方案,