RAC 的初级使用

RAC的定义:

ReactiveCocoa 可以说是结合了函数式编程和响应式编程的框架,也可称其为函数响应式编程(FRP)框架,强调一点,RAC虽然最大的优点是提供了一个单一的、统一的方法去处理异步的行为,包括delegate方法,blocks回调,target-action机制,notifications和KVO.但是不要简单的只是单纯的认为他仅仅就是减少代码复杂度,

安装ReactiveObjC:

创建一个项目名叫RACDemo

一打开终端:

假如你不会使用pod 的话,可以访问我之前写的pod的使用http://www.jianshu.com/p/e4e91855a32f
输入如下代码

Snip20170608_21.png

在Podfile 文件插入pod 'ReactiveObjC' 这一句话就可以将ReactiveObjC插入项目中了。
最后 在终端输入pod install 安转我们pod 。安装完之后我们就可以打开
项目目录下的.xcodeproj


Snip20170608_7.png

二使用步骤:包含#import "ReactiveObjC.h"的类

(1)创建信号源代码如下:


Snip20170608_8.png

(2)订阅信号代码如下:


Snip20170608_9.png

(3)给信号源发送消息如下
Snip20170608_10.png


从以上的三个步骤是不是感觉很麻烦。但是我们可以优化代码写成一句话的代码。因为是Block 所以刚开始有点不习惯:


Snip20170608_11.png

根据这行代码有没有发现,只有我们返回的是一个信号源,我们就可以订阅他,监听他正在变化的值,因为我们的发送的代码和监听的代码是分开的,所以我们可以利用这一优势,实现我们想要的代理。
方法如下:第一步创建一个控制器名叫:methodVC 在.m文件中实现一个方法,返回值是一个信号源。代码如下
Snip20170608_17.png

第二步:在ViewController中调用这个方法
Snip20170608_20.png

这样就可以实现我们想要的效果,只要是send 发送的话就可以给调用他的控制器一个回调。这样我们就可以实现BLOCk的代理方法

我会不停的更新,敬请期待:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容