2015-12-11-RAC常见操作解释

Posted by DragonLi on December 11, 2015

##1.RAC常见操作解释 1)映射:flattenMap,Map用于把源信号内容映射成新的内容

2)组合:concat:按一定顺序拼接信号,当多个信号发出的时候,有顺序的接收信号

3)then:用于连接两个信号,当第一个信号完成,才会连接then返回的信号

4)merge:把多个信号合并为一个信号,任何一个信号有新值的时候就会调用

5)combineLatest:将多个信号合并起来,并且拿到各个信号的最新的值,必须每个合并的signal至少都有 过一次sendNext,才会触发合并的信号。

6)reduce聚合:用于信号发出的内容是元组,把信号发出元组的值聚合成一个值

7)filter:过滤信号,使用它可以获取满足条件的信号.

8) ignore:忽略完某些值的信号.

9) distinctUntilChanged:当上一次的值和当前的值有明显的变化就会发出信号,否则会被忽略掉

10) take:从开始一共取N次的信号

11)takeLast:取最后N次的信号,前提条件,订阅者必须调用完成,因为只有完成,就知道总共有多少信号

12)takeUntil:(RACSignal *):获取信号直到某个信号执行完成

13)skip:(NSUInteger):跳过几个信号,不接受

14)switchToLatest:用于signalOfSignals(信号的信号),有时候信号也会发出信号,会在signalOfSignals中,获取signalOfSignals发送的最新信号

15)doNext: 执行Next之前,会先执行这个Block

16)doCompleted: 执行sendCompleted之前,会先执行这个Block

17)deliverOn: 内容传递切换到制定线程中,副作用在原来线程中,把在创建信号时block中的代码称之为副作用

18)subscribeOn: 内容传递和副作用都会切换到制定线程中

19)interval 定时:每隔一段时间发出信号

20)delay 延迟发送next。

21) 代替代理: •rac_signalForSelector:用于替代代理。

22) 代替KVO : •rac_valuesAndChangesForKeyPath:用于监听某个对象的属性改变。 23) 监听事件: •rac_signalForControlEvents:用于监听某个事件。

24) 代替通知:

•rac_addObserverForName:用于监听某个通知。 25) 监听文本框文字改变:

•rac_textSignal:只要文本框发出改变就会发出这个信号。 26) 处理当界面有多次请求时,需要都获取到数据时,才能展示界面

•rac_liftSelector:withSignalsFromArray:Signals:当传入的Signals(信号数组),每一个signal都至少sendNext过一次,就会去触发第一个selector参数的方法。

•使用注意:几个信号,参数一的方法就几个参数,每个参数对应信号发出的数据