2017-08-29 44 views
0

我正在使用RxSwift进行集合视图和表视图中的表单处理。我面临一个问题。观察者在处理完单元后仍然收到事件RxSwift

我有一个选择列表组件,每次配置时都会创建DisposeBag以删除所有以前的订户。 onDisposed方法被调用,但我仍然收到重复onNext事件。这在开始时正常工作,但当我重新加载集合视图或表视图时,我正面临着这个问题。请让我知道是否有什么我做错了或是库中的这个错误。

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)   
} 
+0

你在哪里调用'configureRx'方法?我想你需要在'prepareForReuse'方法上'处理'订阅... –

+0

configureRx在cellForRow上被调用 是的我已经尝试在prepareForReuse –

+0

上使用配置也许是因为.addDisposableTo()方法已被弃用。处置(通过:disposeBag) –

回答