RAC-ReactiveObjC使用解析介绍——iOS

本文介绍了RAC(ReactiveObjC)在iOS开发中的应用,作为Reactivecocoa的Objective-C版本,RAC提供了一种声明式处理事件和数据流的方式。主要内容包括RACSignal、RACSubject、RACDisposable等核心概念,以及RAC宏的使用,如@strongify、@weakify和事件绑定。此外,还讨论了skip、concat、then等信号操作符的用途,以及RACCommand在处理网络请求中的应用。文章旨在帮助开发者更好地理解和应用RAC进行MVVM设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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(元组类)解包成对应的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值