关于RxSwift

254 阅读1分钟

RxSwift 是 Rx 为 Swift 语言开发的一门函数响应式编程语言, 它可以代替iOS系统的 Target Action / 代理 / 闭包 / 通知 / KVO,同时还提供网络、数据绑定、UI事件处理、UI的展示和更新、多线程等(相当于Oc里的Rac 即:Reactive Extensions)

结合Rac对比记忆: RAC3.0两个主要实体:signal和 SignalProducer signal:无论是否绑定了订阅者都可以发布事件; SignalProducer:至少有一个信号或者事件产生才会触发;

热信号:
主动的,即使你没有订阅事件,它仍然会时刻推送,可以有多个订阅者,是一对多,信号可以与订阅者共享信息。 冷信号:
是被动的,只有当你订阅的时候,它才会发送消息。只能一对一,当有不同的订阅者,消息会从新完整发送

在RxSwift中,signal和 SignalProducer变成了Observable,这两个实体在Rx中是一个东西。在RxSwift里创建Observables不需要考虑是冷信号还是热信号。冷/热信号是当你subscribing/observing产生的副作用。

参考链接:www.jianshu.com/p/c38f027f5…