我想取消订阅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()
但请注意,当您这样做时,您有责任将其取消分配.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。