美文网首页iOS-读书笔记
ReactiveCocoa 中 RACSignal 是如何发送信

ReactiveCocoa 中 RACSignal 是如何发送信

作者: Life淡淡 | 来源:发表于2019-03-12 11:22 被阅读0次

    ReactiveCocoa是一个(第一个?)将函数响应式编程范例带入Objective-C的开源库。ReactiveCocoa是由Josh AbernathyJustin Spahr-Summers 两位大神在对GitHub for Mac的开发过程中编写的。

    目录

    1.什么是ReactiveCocoa?

    2.RAC中的核心RACSignal发送与订阅流程

    3.RACSignal操作的核心bind实现

    4.RACSignal基本操作concat和zipWith实现

    5.最后

    一. 什么是ReactiveCocoa?

    ReactiveCocoa(其简称为RAC)是由Github 开源的一个应用于iOS和OS X开发的新框架。RAC具有函数式编程(FP)和响应式编程(RP)的特性。它主要吸取了.Net的 Reactive Extensions的设计和实现

    ReactiveCocoa 的宗旨是Streams of values over time ,随着时间变化而不断流动的数据流。

    ReactiveCocoa 主要解决了以下这些问题:

    UI数据绑定

    UI控件通常需要绑定一个事件,RAC可以很方便的绑定任何数据流到控件上。

    用户交互事件绑定

    RAC为可交互的UI控件提供了一系列能发送Signal信号的方法。这些数据流会在用户交互中相互传递。

    解决状态以及状态之间依赖过多的问题

    有了RAC的绑定之后,可以不用在关心各种复杂的状态,isSelect,isFinish……也解决了这些状态在后期很难维护的问题。

    消息传递机制的大统一

    OC中编程原来消息传递机制有以下几种:Delegate,Block Callback,Target-Action,Timers,KVO,objc上有一篇关于OC中这5种消息传递方式改如何选择的文章Communication Patterns,推荐大家阅读。现在有了RAC之后,以上这5种方式都可以统一用RAC来处理。

    二. RAC中的核心RACSignal

    相关文章

      网友评论

        本文标题:ReactiveCocoa 中 RACSignal 是如何发送信

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