我在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
的Observable
将失效,并立即释放所有新订阅。我想使用我的
PublishSubject
更长的时间,并且在释放绑定后能够订阅它。如何做到这一点? 最佳答案
查看PublishRelay
,它不能以错误或已完成事件终止。
将taps绑定到PublishRelay
只会在释放订阅后忽略完成的事件(source),例如在释放按钮时。这将允许您稍后订阅PublishRelay
关于ios - 在RxSwift中放置绑定(bind)时,如何不使观察者无效?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56236262/