首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在RxSwift中部署绑定时不使观察者无效?

如何在RxSwift中部署绑定时不使观察者无效?
EN

Stack Overflow用户
提问于 2019-05-21 18:26:33
回答 1查看 607关注 0票数 0

我是RxSwift领域的新手,显然我没有正确地使用它……我有一个按钮,我想像这样连接到一个观察者

代码语言:javascript
运行
复制
button.rx.tap.bind(to: viewModel.someObserver).disposed(by: disposeBag)

其中viewModel中的someObserver初始化如下:

代码语言:javascript
运行
复制
let publishSubject = PublishSubject<Void>()
someObserver = publishSubject.asObserver()
someObservable = publishSubject.asObservable() 

但是,当使用绑定创建的Disposable被释放时,同时用作ObserverObservablePublishSubject将失效,并且所有新的订阅都会立即被释放。

我想使用我的PublishSubject更长的时间,并能够在绑定被释放后订阅它。如何做到这一点呢?

EN

Stack Overflow用户

发布于 2019-05-22 05:50:33

看看PublishRelay,它不能以错误或已完成事件终止。

一旦释放了订阅,例如当按钮被释放时,将taps绑定到PublishRelay将简单地忽略完成的事件(source)。这将允许您在以后订阅PublishRelay

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56236262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档