美文网首页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