记录成长
分享知识

iOS开发之RAC(一) 入门篇

一、RAC是什么?

1、RAC全称:ReactiveCocoa, Github 一个开源框架!!

2、ReactiveCocoa:函数响应编程框架!! (Reactive:响应。Cocoa:苹果开发中所有框架的总称。)

3、作用:帮助我们更简单霸气的处理事件!!

总结:RAC是一套super重量级函数响应编程开源框架,它可以帮助我们简单粗暴的处理事件!!!

一张图让你全面认识RAC👇

二、RAC的四大家族

1、Cocoa:包含了OC和swift代码

2、ObjC:纯OC代码建议使用(本文使用的框架)

3、Swift:纯swift的代码就可以使用它了

4、Bridge:OC和swift混编就要用到它了

建议:我们比较常见的就是Cocoa,但是如果是纯OC的代码,还是建议使用ObjC,至于纯Swift建议不要使用Swift,据传说是因为很难用。

三、集成ReactiveObjC框架

使用CocoaPads来集成,没有环境的,或者不会搭建环境的,可以自己去百度一下

四、开始最简单的使用ReactiveObjC

1、我们先认识一下RAC里最常见和常用的类:RACSignal(信号类)

– 通过RACSignal创建一个信号!! (默认是: 冷信号!!)
– 通过订阅者!订阅这个信号!(变成: 热信号!!)
– 发送信号!!
以上就是信号三部曲,下面我们来看代码的实现:
1.1、创建信号
1.2、订阅信号
1.3、发送信号
不难发现上面有两个block,经过测试总结如下:
第一个(创建信号)block:是在订阅信号时被调用,如果不订阅信号的话,就永远不会被调用。
第二个(订阅信号)block:是在发送信号时被调用,如果不发送信号的话,也是不会被调用的。

我说你就信,必须的!!!
送你一张流程图

2、实际开发中如何使用ReactiveObjC

2.1、UITextField

监听了输入框内所有的变化,包括准备编辑,和退出编辑。再也不用写delegate了,编码起来方便快捷!!!

2.2、UIButton
平常写按钮的触发事件都要新建一个方法去实现,现在不用了,直接在你的按钮下面写实现的代码。实例化和触发事件写在一起,查阅代码和维护代码更加直观!!!

2.3、NSNotificationCenter

还能监听通知的各种事件,上面就是监听了APP退到后台的事件。最重要的一点就是不需要移除通知,比通知用起来更爽,无后顾之忧!!!

总结:更快!更简洁!!更有效!!!谁用谁知道!!!!

友情提示:RAC虽然很好用,但却是一个充满block的世界,我们都知道block最大的坑就是循环引用。所以在使用RAC的时候,不要忘记了这个坑,看我上面的UITextField的代码示例,是不是发现了什么。对,你没看错,解决的方法就是外面一个@weakify(self),里面一个@strongify(self)。虽然有解决方法,但是尽量不要在block里面使用self!!!

@weakify(self):为了打断循环引用!!

@strongify(self):为了防止self被释放后,队列无法调用block!!

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:外贸技术家园 » iOS开发之RAC(一) 入门篇

分享到: 生成海报

热门文章

  • 评论 抢沙发

    • QQ号
    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活