Swift将AnyObserver绑定到Observable

时间:2017-03-09 11:32:52

标签: ios iphone swift rx-swift

所以,例如我在var myObserver: AnyObserver<Bool>中有这个观察者 我能不能像observable那样订阅它,所以我可以像.subscribe(onNext:)一样对它进行一些操作?

2 个答案:

答案 0 :(得分:2)

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

的内容

在此示例中,您可以执行

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

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

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

答案 1 :(得分:0)

Observable是一个只读实体。您只能订阅&#34;阅读&#34;关闭它并操纵/转换它们。

&#34;可写&#34; Rx的一部分称为Observer,通常使用SubjectRelay或使用Observable.create的手动创建进行抽象。

您可以在此处详细了解主题: https://speakerdeck.com/freak4pc/rxswift-debunking-the-myth-of-hard?slide=34