ReactiveCocoa 针对热、冷信号分别提供了这两种类型:Signal与SignalProducer。而 RxSwift提供了一种同时支持冷、热信号的类型:Observable<T>。虽然RxSwift并没有明显区分两种类型,但是明确冷热信号的含义是非常必要的,因为忽略它可能会造成代码逻辑的错误。
冷信号:
冷信号是被动的,只有当你订阅的时候,它才会发布消息。
常见的网络请求,异步操作,都是冷信号。
热信号:
热信号是主动的,尽管你并没有订阅事件,但是它会时刻推送。
常见的值变化,点击,UIControlEvent,时间变化都是热信号。