ios – 如何在RxSwift中取消订阅Observable?

ios – 如何在RxSwift中取消订阅Observable?,第1张

概述我想取消订阅Rx Swift中的Observable.为了做到这一点,我曾经将Disposable设置为nil.但在我看来,在更新到RxSwift 3.0.0-beta.2后,这个技巧不起作用,我无法取消订阅Observable: //This is what I used to do when I wanted to unsubscribevar cancellableDisposeBag: 我想取消订阅Rx Swift中的Observable.为了做到这一点,我曾经将disposable设置为nil.但在我看来,在更新到RxSwift 3.0.0-beta.2后,这个技巧不起作用,我无法取消订阅Observable:
//This is what I used to do when I wanted to unsubscribevar cancellabledisposeBag: disposeBag?func setdisposable(){    cancellabledisposeBag = disposeBag()}func canceldisposable(){    cancellabledisposeBag = nil}

那么可能有人可以帮我如何正确取消订阅Observable?

解决方法 一般来说,最好在disposeBag中输出所有订阅,这样当包含订阅的对象被解除分配时,它们也是如此.
let disposeBag = disposeBag()func setupRX() {   button.rx.tap.subscribe(onNext : { _ in       print("Hola mundo")   }).adddisposableto(disposeBag)}

但是如果你想要预先杀死订阅,你只需要在你想要的时候调用dispose()

像这样:

let disposable = button.rx.tap.subcribe(onNext : {_ in    print("Hallo World")})

您可以随时调用此方法并取消订阅.

disposable.dispose()

但请注意,当您这样做时,您有责任将其取消分配.

总结

以上是内存溢出为你收集整理的ios – 如何在RxSwift中取消订阅Observable?全部内容,希望文章能够帮你解决ios – 如何在RxSwift中取消订阅Observable?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存