首页 > 代码库 > ReactiveCocoa学习总结(1)
ReactiveCocoa学习总结(1)
1. 它是什么?
官方解释:
[RACSignal] is a push-driven stream with a focus on asynchronous event
delivery through subscriptions.
其它解释:
ReactiveCocoa(简称为RAC
),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。
信号是数据流,可以被绑定和传递。可以把信号想象成水龙头,只不过里面不是水,而是玻璃球(value),直径跟水管的内径一样,这样就能保证玻璃球是依次排列,不会出现并排的情况(数据都是线性处理的,不会出现并发情况)。水龙头的开关默认是关的,除非有了接收方(subscriber),才会打开。这样只要有新的玻璃球进来,就会自动传送给接收方。
2.它的作用?
代替target,代理,通知,kvo,不用关心调用顺序,直接考虑结果等等....
3.如何工作?
把所有事件都看成一个信号,信号创建之后只要有 订阅 就可以收到创建之后发送的数据! 同时我们也可以进行当前信号的 过滤、方法的跳转、然后返回对应的信号和数据...
函数式编程(Functional Programming):使用高阶函数,例如函数用其他函数作为参数。
响应式编程(Reactive Programming):关注于数据流和变化传播。
4. ReactiveCocoa操作须知
- 所有的信号(RACSignal)都可以进行操作处理,因为所有操作方法都定义在RACStream.h中,因此只要继承RACStream就有了操作处理方法。
ReactiveCocoa操作思想
- 运用的是Hook(钩子)思想,Hook是一种用于改变API(应用程序编程接口:方法)执行结果的技术.
- Hook用处:截获API调用的技术。
- Hook原理:在每次调用一个API返回结果之前,先执行你自己的方法,改变结果的输出。
ReactiveCocoa学习总结(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。