这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战
声明
出于官方文档的一致性,我还是引用了这个又臭又长的名字——Observable & Observer 既是可监听序列也是观察者。
但是我想说,今天我要讲解的这类型组件用Relay(继电器)
这个概念来说明就够了!
另外我没理解RxSwift中频繁使用Subject这个单词,但是我没理解其意义,还望大佬们指点。
前言
上一节,我讲解了Observer(观察者),和之前说明序列
比作是工控作业的流水线一样,用于输出。
我把观察者
比作是工控中传感器,它用于接收从序列过来的信号,用于输入。
其实在整个工控系统的中,有些传感器不仅接收信号,还需要对信号做转换并输出,这种元件又叫做继电器。
理解Relay(继电器)
在我学习Observable&Observer这种类型的时候,看到了BehaviorRelay
和PublishRelay
这两个类,它们是一个相对独立的模块,放在一个叫RxRelay
的文件夹中的。
BehaviorRelay
和PublishRelay
分别对应的是BehaviorSubject
和PublishSubject
这个两种类型,其内部实现都是用BehaviorSubject
和PublishSubject
的一层封装,具体代码不展开:
public final class BehaviorRelay<Element>: ObservableType {
private let _subject: BehaviorSubject<Element>
/// Accepts `event` and emits it to subscribers
public func accept(_ event: Element) {
self._subject.onNext(event)
}
.
.
.
复制代码
public final class PublishRelay<Element>: ObservableType {
private let _subject: PublishSubject<Element>
// Accepts `event` and emits it to subscribers
public func accept(_ event: Element) {
self._subject.onNext(event)
}
·
·
·
复制代码
真正让我感兴趣的是这个单词Relay:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
相关推荐