2017-03-06 14 views
2

ボタン付きのコレクションビューセルがあり、ビューコントローラのビューモデルを使用してセルのビューモデルを通じてタップコントロールイベント(button.rx.rap) (私はタップイベントでビューコントローラを提示する必要があるので)コレクションビューコントローラ自体に渡します。RxSwift:複数のビューモデルを使用してコントロールイベントを渡す方法

これはRxの方法(理想的には科目を使用しない)でどのように達成できますか?

答えて

0

私たちのやり方は、viewmodelでPublishSubjectを使うことです。 例

class CellViewModel { 

    let optionButtons: [TripOptionButtonsCellView.TripOptionButtonType] 
    let optionButtonTapped = PublishSubject<TripOptionButtonsCellView.TripOptionButtonAction>() 

    init() 

     ...     
    } 

    func switchButtonValueChanged(to isOn: Bool) { 

     viewModel?.optionButtonTapped.onNext(.enableOrDisableNotifications(isEnabled: isOn)) 

    } 

} 

のためにあなたは、あなたのビューコントローラで次のイベントを聞くことができますし、好きな場所に上のことを渡します。あなたはtableviewcellsをリサイクルできるので、あなたが再購読していることを確認するだけです。

関連する問題