我是RxSwift领域的新手,显然我没有正确地使用它……我有一个按钮,我想像这样连接到一个观察者
button.rx.tap.bind(to: viewModel.someObserver).disposed(by: disposeBag)
其中viewModel中的someObserver
初始化如下:
let publishSubject = PublishSubject<Void>()
someObserver = publishSubject.asObserver()
someObservable = publishSubject.asObservable()
但是,当使用绑定创建的Disposable
被释放时,同时用作Observer
和Observable
的PublishSubject
将失效,并且所有新的订阅都会立即被释放。
我想使用我的PublishSubject
更长的时间,并能够在绑定被释放后订阅它。如何做到这一点呢?
发布于 2019-05-22 05:50:33
看看PublishRelay
,它不能以错误或已完成事件终止。
一旦释放了订阅,例如当按钮被释放时,将taps绑定到PublishRelay
将简单地忽略完成的事件(source)。这将允许您在以后订阅PublishRelay
https://stackoverflow.com/questions/56236262
复制相似问题