RAC 的初级使用

RAC的定义:

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

安装ReactiveObjC:

创建一个项目名叫RACDemo

一打开终端:

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

RAC 的初级使用_第1张图片
Snip20170608_21.png

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


RAC 的初级使用_第2张图片
Snip20170608_7.png

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

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


RAC 的初级使用_第3张图片
Snip20170608_8.png

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


RAC 的初级使用_第4张图片
Snip20170608_9.png

(3)给信号源发送消息如下
RAC 的初级使用_第5张图片
Snip20170608_10.png


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


RAC 的初级使用_第6张图片
Snip20170608_11.png

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

第二步:在ViewController中调用这个方法
RAC 的初级使用_第8张图片
Snip20170608_20.png

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

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

你可能感兴趣的:(RAC 的初级使用)