在RxSwift小区中处理后仍在接收事件的观察者



我在集合视图和表视图中使用RxSwift进行表单处理。我面临一个问题。

我有一个单独的选择列表组件,每次都创建DisposeBag,同时配置为删除所有以前的订阅者。对两者都调用了onDisposed方法,但我仍然收到重复的onNext事件。这在一开始很好,但当我重新加载集合视图或表视图时,我会遇到这个问题。请告诉我是我做错了什么,还是图书馆里有这个bug。

var selectedIndex = Variable<Int?>(nil)
func configureRx(sender: RxRow<Int>) {
dateVarDisposable = DisposeBag()
selectedIndex
.asObservable()
.subscribe(onNext: {[weak self] (index) in
self?.selectRow(selectedIndex: index)
}, onDisposed: {
print("")
})
.addDisposableTo(disposableBag)
sender.dataVariable.asObservable()
.debug(self.stringTag, trimOutput: false)
.subscribe(onNext: { (sender) in
self.selectedIndex.value = sender
}, onDisposed: {
})
.addDisposableTo(disposableBag)        
}

检查此项:https://github.com/ReactiveX/RxSwift/issues/821.细胞有一个特殊的类别-reuseBag

最新更新