簡體   English   中英

在RxSwift中放置綁定時,如何不使觀察者無效?

[英]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時,同時用作ObserverObservable PublishSubject無效,所有新訂閱都將被立即處置。

我希望使用我的PublishSubject更長的時間,並能夠在綁定PublishSubject后對其進行訂閱。 如何實現呢?

看一下PublishRelay ,它不會因錯誤或事件完成而終止。

一旦處理了訂閱(例如,當釋放按鈕時),將分接頭綁定到PublishRelay只會忽略已完成的事件( source )。 這將使您可以在以后訂閱PublishRelay

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM