一.信号类:表示有数据产生
RACSignalRACDynamicSignal-> didSubscribe(block)RACSubject-> subscribers(数组)RACReplaySubject-> valuesReceived(数组)
二.不同的信号订阅方式不同
-
RACDynamicSignal:- 1.创建订阅者RACSubscriber
- 2.执行didSubscribe
-
RACSubject:- 1.创建订阅者RACSubscriber
- 2.保存订阅者
-
RACReplaySubject:- 1.创建订阅者RACSubscriber
- 2.拿到当前创建订阅者,发送之前保存的所有值
三.订阅者:发送数据
RACSubscriber-> nextBlock(block)RACSubject-> subscribers(数组)RACReplaySubject-> valuesReceived(数组)
四.不同订阅者,发送数据方式不同
-
[
RACSubscribersendNext]:- 执行nextBlock
-
[
RACSubjectsendNext]:- 遍历自己所有订阅者,发送数据
-
[
RACReplaySubjectsendNext]:- 1.保存发送的值
- 2.遍历自己所有订阅者,发送数据