ReactiveCocoa(简称为 RAC), 是由 Github 开源的一个利用于 iOS 和 OS 开发的新框架,Cocoa 是苹果整套框架的简称,因而很多苹果框架喜爱以 Cocoa 结尾。ReactiveCocoa 是一个高度形象的编程框架,它真的很形象,初看你不晓得它是要干嘛的,等你用上了之后,就发现,有了它你是想干嘛就干嘛,编码从未如此晦涩。
RAC 全套教程点击获取
ReactiveCocoa 是做什么的?
说说 ReactiveCocoa 的作用;
在咱们 iOS 开发过程中,当某些事件响应的时候,须要解决某些业务逻辑, 这些事件都用不同的形式来解决。
比方按钮的点击应用 action,ScrollView 滚动应用 delegate,属性值扭转应用 KVO 等零碎提供的形式。
其实这些事件,都能够通过 RAC 解决
ReactiveCocoa 为事件提供了很多解决办法,而且利用游戏 RAC 处理事件很不便,能够把要解决的事件,和监听的事件的代码放在一起,这样十分不便咱们治理,就不须要跳到对应的办法里。十分合乎咱们开发中高聚合,低耦合的思维。
一、面相对象:解决事件以过程为外围,一步一步的实现。
解释:用以前常说的怎么把大象放在冰箱外面为例,你要从面向过程去思考的话你就得一步一步的把这个整个过程拆分开去做。
** 第一步:** 把大象剁了(当然,只是这样说说而已,别真的这样做,咱们还是要爱护大象!只为解释一下这个面相过程的思维 O(∩_∩)0)。** 第二步:** 把冰箱门关上。** 第三步:** 一块块的把大象放进去。** 第四步:** 把冰箱门关上,这就是面相过程你所须要思考的。
二、面相对象:万物皆对象
同样以下面的过程为例,你须要思考的只是把冰箱关上,把大象放进去就行了,至于怎么放这些步骤你就不须要思考了,咱们只关怀对象,不关怀过程。
三、链式编程思维:关注于数据流和变动流传,是将多个操作通过点号 (.) 链接在一起成为一句代码, 使代码可读性好。
像这样调用 a(1).b(2).c(3)
代表:masonry 框架。
四、响应式编程思维:不须要思考调用程序,只须要晓得思考后果,相似于蝴蝶效应,产生一个事件,会影响很多货色,这些事件像流一样的流传进来,而后在游戏 sangpi.com 影响后果,借用面向对象的一句话,万物皆是流。
代表:KVO 使用。
五、函数式编程思维:例如函数用其余函数作为参数。
代表:ReactiveCocoa。
下面这么多,就把它的作用和它所用的编程思维做了一个类比和剖析。