RAC的定义:
ReactiveCocoa 可以说是结合了函数式编程和响应式编程的框架,也可称其为函数响应式编程(FRP)框架,强调一点,RAC虽然最大的优点是提供了一个单一的、统一的方法去处理异步的行为,包括delegate方法,blocks回调,target-action机制,notifications和KVO.但是不要简单的只是单纯的认为他仅仅就是减少代码复杂度,
安装ReactiveObjC:
创建一个项目名叫RACDemo
一打开终端:
假如你不会使用pod 的话,可以访问我之前写的pod的使用http://www.jianshu.com/p/e4e91855a32f
输入如下代码
在Podfile 文件插入pod 'ReactiveObjC' 这一句话就可以将ReactiveObjC插入项目中了。
最后 在终端输入pod install 安转我们pod 。安装完之后我们就可以打开
项目目录下的.xcodeproj
二使用步骤:包含#import "ReactiveObjC.h"的类
(1)创建信号源代码如下:
(2)订阅信号代码如下:
(3)给信号源发送消息如下
:
从以上的三个步骤是不是感觉很麻烦。但是我们可以优化代码写成一句话的代码。因为是Block 所以刚开始有点不习惯:
根据这行代码有没有发现,只有我们返回的是一个信号源,我们就可以订阅他,监听他正在变化的值,因为我们的发送的代码和监听的代码是分开的,所以我们可以利用这一优势,实现我们想要的代理。
方法如下:第一步创建一个控制器名叫:methodVC 在.m文件中实现一个方法,返回值是一个信号源。代码如下
第二步:在ViewController中调用这个方法
这样就可以实现我们想要的效果,只要是send 发送的话就可以给调用他的控制器一个回调。这样我们就可以实现BLOCk的代理方法
我会不停的更新,敬请期待: