如何退订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() 

但是请注意,当你这样做的时候,你有责任把它解除分配。