我在RxSwift世界中是一个新手,显然我没有正确使用它...我有一个按钮想要连接到这样的观察器
button.rx.tap.bind(to: viewModel.someObserver).disposed(by: disposeBag)
其中viewModel中的someObserver
初始化如下:
let publishSubject = PublishSubject<Void>()
someObserver = publishSubject.asObserver()
someObservable = publishSubject.asObservable()
但是,当处置通过绑定创建的Disposable
时,同时用作PublishSubject
和Observer
的{{1}}无效,所有新的订阅都将立即处置。
我想使用我的Observable
更长的时间,并且能够在绑定解除后订阅它。如何实现?
答案 0 :(得分:1)
看看PublishRelay
,它不会因错误或完成的事件而终止。
将抽签绑定到PublishRelay
只会在处理完订阅后(例如,当按钮被释放时。这样一来,您以后就可以订阅PublishRelay