一起来看看ReactiveCocoa基础

常用作用:

注意:reactiveCocoa 提供了很多对象创建信号的方式,整个流程是一样的,只是各个对象创建信号的方式不一样。

过程:创建信号-----存储信号为冷信号([subscriber sendNext:@""])-------订阅信号(subscribeNext:^(idx) {})激活冷信号,相当于调用信号。

特殊情况:RACCommand对象命令可以存储信号,同一个对象可以在任何地方订阅执行存储的信号(execute),进而进行一系列的操作。一般不再同一个类中调用信号都用命令来处理。

常用快捷方法:

rac_signalForSelector:用于替代代理

rac_valuesAndChangesForKeyPath:用于监听某个对象的属性改变(KVO)

rac_signalForControlEvents:用于监听某个事件

rac_addObserverForName:用于监听某个通知

rac_textSignal:只要文本框发出改变就会发出这个信号

rac_liftSelector:withSignalsFromArray:Signals:处理当界面有多次请求时,需要都获取到数据时,才能展示界面。当传入的Signals(信号数组),每一个signal都至少sendNext过一次,就会去触发第一个selector参数的方法:

代码演示:

http://www.jianshu.com/p/87ef6720a096  页面搜索:代码演示

一起来看看ReactiveCocoa基础_第1张图片


信号创建和订阅传递:

三种方式:RACSignal、RACSubject、RACReplaySubject

基础功能:

1.RACSubject替换代理:

 需求:// 1.给当前控制器添加一个按钮,modal到另一个控制器界面// 2.另一个控制器view中有个按钮,点击按钮,通知当前控制器

RACTuple:元组类、RACSequence:RAC中的集合类

需求:1.遍历数组    2.遍历字典,遍历出来的键值对会包装成RACTuple(元组对象)  // 3.字典转模型

你可能感兴趣的:(一起来看看ReactiveCocoa基础)