• 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返回结果之前,先执行你自己的方法,改变结果的输出。

     转自链接: http://www.jianshu.com/p/87ef6720a096

  • 相关阅读:
    day6_redis模块和pipeline
    day6_hashlib模块
    18 MySQL数据导入导出方法与工具介绍之二
    【Vijos1264】神秘的咒语
    【Vijos1180】选课
    【vijos1234】口袋的天空
    【vijos1790】拓扑编号
    【WC2008】【BZOJ1271】秦腾与教学评估(二分,前缀和,奇偶性乱搞)
    【Baltic2003】【BZOJ1370】Gang团伙(并查集,拆点)
    【基础】二分算法学习笔记
  • 原文地址:https://www.cnblogs.com/gui-zi/p/6534886.html
Copyright © 2020-2023  润新知