RAC指的就是Reactivecocoa,用于iOS开发和OS开发,是git上面的一个开源框架,可以使用pod直接导入。RAC讲究的是万物皆信号,可替代:代理、通知、Block、KVO以及事件绑定。OC—— ‘ReactiveObjC’,Swift——Reactivecocoa。当前项目使用OC。RAC之前也使用过配合MVVM设计,但是用的功能少。当前公司采用RAC也是配合MVVM,使用的比较多,同事也不是很熟,用的比较乱。所以研究整理RAC使用方法,特此记录。如有不对之处欢迎留言指出。
对应地方导入:<ReactiveObjC/ReactiveObjC.h>
RAC----类目介绍
1,RACSignal:信号类,本身不具备发送信号能力。信号发送携带数据,当数据改变就发送数据。
2,RACSubject:信号类,继承RACSignal,可以手动控制,有发送信号能力。
3,RACReplaySubject:RACSubject子类,可以先发送信号再订阅。
4,RACSubscriber:可以接受发送信号的协议对象,表示信号订阅者。本身是一个协议,不是一个类。
5,RACDisposable:用于取消订阅或者清理资源,当信号发送完成或者发送错误的时候,就会自动触发它。
6,RACCommand:事件类,一般使用此类来进行网络请求,获取数据事件传递。
RAC-----宏介绍
@strongify @weakify注意配对使用,类似强弱转换。解决循环引用问题。独立使用@weakify而在RAC Block中不使用 @strongify 会造成内存泄漏。因为仅用@weakify后,使用的self本非弱化后的self,而是self本身。
RAC(TARGET, …),用于事件绑定,为对象属性指定信号,自动设置给定的键。
RACObserve(TARGET, KEYPATH):创建一个在“TARGET”上观察“KEYPATH”以获取更改的信号,一般用于多个事件绑定之间作为信号。
本人很少使用的宏
RACTuplePack:把数据包装成RACTuple(元组类)。
RACTupleUnpack:把RACTuple(元组类)解包成对应的数据。
RAC-ReactiveObjC使用解析介绍——iOS
最新推荐文章于 2024-09-14 07:26:08 发布