HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何在RxSwift中取消订阅Observable?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想取消订阅Rx Swift中的Observable.为了做到这一点,我曾经将Disposable设置为nil.但在我看来,在更新到RxSwift 3.0.0-beta.2后,这个技巧不起作用,我无法取消订阅Observable:
//This is what I used to do when I wanted to unsubscribe
var 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?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。