废话不多说,直接讲实际应用
RAC的使用场景在addTarget、代理、通知、KVO、代替NSTimer、网络异步回调等,即目的在于对事件的监听。
首先添加RAC第三方库,建议直接使用Cocoapods,简单方便。
pod ‘ReactiveObjC’, ‘~>3.0.0’
接着添加头文件
import <ReactiveObjC/ReactiveObjC.h>
RAC中三个步骤:创建信号、订阅信号、发送信号
注:RAC在使用过程中由于系统提供的信号是始终存在的,所以在block中使用属性或者成员变量都会涉及到循环引用问题,有两种方法可以解决:1.使用weakself 2.RAC提供的weak-strong dance,即在block外部使用@weakify(self),在block内部使用@stringify(self)