2017-03-06 34 views
2

我有一个按钮集合观察室通过一个控制的事件,我想透过细胞的视图模型通过水龙头控制事件(button.rx.rap),通过视图控制器的视图模式,到集合视图控制器本身(如我需要出示上轻敲事件的视图控制器)。RxSwift:如何通过多个视图模型

这怎么能在这样的Rx(最好不使用对象)来实现?

回答

0

我们这样做的方式是通过在视图模型使用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可以回收利用。