搜索
您的当前位置:首页正文

让你5分钟内学懂,iOS开发底层原理技术~RAC深度解析

来源:二三娱乐

首先介绍一下什么是RAC:

ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。ReactiveCocoa是一个高度抽象的编程框架,它真的很抽象,初看你不知道它是要干嘛的,等你用上了之后,就发现,有了它你是想干嘛就干嘛,编码从未如此流畅。

RAC的作用,以及有哪些功能:

在这里说道RAC那就必须得说一下编程思想这个词了:

1、面向过程:处理事情以过程为核心,一步一步的实现。

2、面向对象:万物皆对像

3、链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好

4、 响应式编程思想:不需要考虑调用顺序,只需要知道考虑结果,类似于蝴蝶效应,产生一个事件,会影响很多东西,这些事件像流一样的传播出去,然后影响结果,借用面向对象的一句话,万物皆是流

5、函数式编程思想:是把操作尽量写成一系列嵌套的函数或者方法调用。

函数式编程本质:就是往方法中传入Block,方法中嵌套Block调用,把代码聚合起来管理

函数式编程特点:每个方法必须有返回值(本身对象),把函数或者Block当做参数,block参数(需要操作的值)block返回值(操作结果)

代表:ReactiveCocoa。

RAC常见用法:

1.代替代理:rac_signalForSelector:用于替代代理

2.:代替KVO

3.监听事件 (代替addTarget)

rac_signalForControlEvents:用于监听某个事件。

4.代替通知

rac_addObserverForName:用于监听某个通知

5.监听文本框文字改变

rac_textSignal:只要文本框发出改变就会发出这个信号

在RAC中我们会看到bind,了解一下如何使用吧

1、创建信号

2、绑定信号

3.不知道返回值是啥,点进去看看

4.看完之后知道了,他的返回是要是一个信号,并且带两个参数:一个value,一个bool

6.现在我们已经绑定啦,然后我们愉快的运行吧,成功运行完成,一切都是那么风平浪静,接下来要发送信息了。

8.现在问题来了,我们都发送数据了,在哪里接收啊?bind方法中返回的就是signal,既然是信号,那么就订阅。

Top