Swift 将 AnyObserver 绑定到 Observable

Swift bind AnyObserver to Observable

所以,例如我在 var myObserver: AnyObserver<Bool> 中有这个观察者 我可以以某种方式订阅它,就像 observable 一样,这样我就可以像 .subscribe(onNext:) 一样用它做一些操作吗?

Observer 是您实际传递给 subscribe(...)

的内容

在此示例中,您可以这样做

var myObserver: AnyObserver<Bool> = //...

myObservable
  .subscribe(myObserver)
  .disposed(by: disposeBag)

语法 subscribe(onNext:onError:onCompleted:) 只是语法糖,不必每次都实际创建一个 Observer 对象。

Observable 是一个 read-only 实体。您只能订阅 "Read" 和 manipulate/transform 的东西。

Rx 的 "Writable" 部分称为 Observer,通常用 SubjectRelay 或使用 [=14= 手动创建来抽象].

您可以在此处阅读有关主题的更多信息: https://speakerdeck.com/freak4pc/rxswift-debunking-the-myth-of-hard?slide=34