2017-08-29 24 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) –

回答