美文网首页
对于ReactiveCocoa个人的理解

对于ReactiveCocoa个人的理解

作者: 武小寺 | 来源:发表于2015-12-18 11:39 被阅读45次

    什么是ReactiveCocoa?

    ReactiveCocoa(其简称为RAC)是由Github 开源的一个应用于iOS和OS X开发的新框架。RAC具有函数式编程和响应式编程的特性。

    是在iOS平台上对FRP的实现。FRP的核心是信号,信号在ReactiveCocoa(以下简称RAC)中是通过RACSignal来表示的,信号是数据流,可以被绑定和传递。它主要吸取了.Net的 Reactive Extensions的设计和实现。

       大神Leezhong在博客中提到的比喻,可以更好地帮我们理解ReactiveCocoa.
    
    可以把信号想象成水龙头,只不过里面不是水,而是玻璃球(value),
    直径跟水管的内径一样,这样就能保证玻璃球是依次排列,
    不会出现并排的情况(数据都是线性处理的,不会出现并发情况)。
    水龙头的开关默认是关的,除非有了接收方(subscriber),才会打开。
    这样只要有新的玻璃球进来,就会自动传送给接收方。
    可以在水龙头上加一个过滤嘴(filter),不符合的不让通过,
    也可以加一个改动装置,把球改变成符合自己的需求(map)。
    也可以把多个水龙头合并成一个新的水龙头(combineLatest:reduce:),
    这样只要其中的一个水龙头有玻璃球出来,
    这个新合并的水龙头就会得到这个球。
    

    相关文章

      网友评论

          本文标题:对于ReactiveCocoa个人的理解

          本文链接:https://www.haomeiwen.com/subject/eppphttx.html