[英]How to not invalidate observer when binding is disposed in RxSwift?
我在RxSwift世界中是一個新手,顯然我沒有正確使用它...我有一個按鈕想要連接到這樣的觀察者
button.rx.tap.bind(to: viewModel.someObserver).disposed(by: disposeBag)
其中someObserver
中的someObserver初始化如下:
let publishSubject = PublishSubject<Void>()
someObserver = publishSubject.asObserver()
someObservable = publishSubject.asObservable()
但是,當處置通過綁定創建的Disposable
時,同時用作Observer
和Observable
PublishSubject
無效,所有新訂閱都將被立即處置。
我希望使用我的PublishSubject
更長的時間,並能夠在綁定PublishSubject
后對其進行訂閱。 如何實現呢?
看一下PublishRelay
,它不會因錯誤或事件完成而終止。
一旦處理了訂閱(例如,當釋放按鈕時),將分接頭綁定到PublishRelay
只會忽略已完成的事件( source )。 這將使您可以在以后訂閱PublishRelay
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.