如何退订RxSwift中的Observable?
我想退订RxSwift中的Observable。 为了做到这一点,我曾经把一次性设置为零。 但是在我看来,在更新到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 disposeable = button.rx.tap.subcribe(onNext : {_ in print("Hallo World") })
您可以随时调用此方法并取消订阅。
disposable.dispose()
但是请注意,当你这样做的时候,你有责任把它解除分配。