【复习向】RAC的学习总结笔记

RAC的作用以及使用场景

场景:一个事件的出现,导致需要发起某个业务的处理

作用:将事件所对应的待处理业务封装在Block中,让事件和业务处理的代码放在一起,方便查阅与管理。

符合代码设计中“高内聚,低耦合”的设计思想。


RAC的通用工作流程

1.创建信号

2.发送信号

3.订阅信号


RAC的常用类:

1~9相对常用

1.RACSignal: 信号类,一般表示将来有数据传递,只要有数据改变,信号内部接收到数据,就会马上发出数据。

2.RACSubscriber: 订阅者,用于发送信号,这是一个协议。

3.RACDisposable: 用于取消订阅或者清理资源。当信号发送完成或者发送错误的时候,就会自动触发。

4.RACSubject: 信号提供者,可以自己充当信号,又能发送信号;RACReplaySubject: 重复提供信号类,继承自RACSubject。

区别: RACReplaySubject可以先发送信号,再订阅信号; RACSubject不具备这种功能。

5.RACTuple: 元组类,类似NSArray,用来包装值。

6.RACSequence: RAC中的集合类,用于代替NSArray,NSDictionary,可以用来快速遍历数组和字典。

7.RACCommand: RAC用于处理事件的类,可以把事件如何处理,事件中的数据如何传递,包装到这个类中,便于监控事件的执行过程。

8.RACMulticastConnection: 用于当一个信号,被多次订阅时,为了保证创建信号时,避免多次调用创建信号中的block,造成副作用,可以使用这个类处理。

9.RACScheduler: RAC中的队列,用GCD封装的。

10.RACUnit: 表示steam不包含有意义的值,相当于nil。

11.RACEvent: 把数据包装成信号事件(signal event),通过RACSignal的-materialize调用处理。

你可能感兴趣的:(【复习向】RAC的学习总结笔记)