ReactiveCocoa 小结

2020-03-03  本文已影响0人  Janek_m
一、介绍

ReactiveCocoa(简称RAC)是由GitHub团队开源的一套基于Cocoa的并且具有FRP特性的框架。
FRP(Functional Reactive Programming)响应式编程RAC就是一个第三方库,使用它可以大大简化代码,提高开发效率。
整合了系统的各种UI响应事件、通知、代理、KVO等功能,提供了使用更方便更内聚的API,思路是通过信号的创建和订阅来完成消息传递的。扩展出了多个信号关联、信号变换、信号压缩后再传递等实用的功能。

二、基础理论

(1) 什么是信号?
RAC的核心就是信号,即RACSignal。信号--传递数据的工具,当数据变化时,信号就会发送改变的信息,以通知信号的订阅者执行方法。

(2) 什么是冷热信号?
1.Hot Observable是主动的,尽管你并没有订阅事件,但是它会时刻推送,就像鼠标移动;而Cold Observable是被动的,只有当你订阅的时候,它才会发布消息。
2.Hot Observable可以有多个订阅者,是一对多,集合可以与订阅者共享信息;而Cold Observable只能一对一,当有不同的订阅者,消息是重新完整发送。
3.RACSubject及其子类是热信号。RACSignal排除RACSubject类以外的是冷信号。

三、类介绍
RACSignal类的结构: RACSubscriber类的结构: RACDisposable类的结构:
上一篇 下一篇

猜你喜欢

热点阅读