2
我有一个按钮集合观察室通过一个控制的事件,我想透过细胞的视图模型通过水龙头控制事件(button.rx.rap
),通过视图控制器的视图模式,到集合视图控制器本身(如我需要出示上轻敲事件的视图控制器)。RxSwift:如何通过多个视图模型
这怎么能在这样的Rx(最好不使用对象)来实现?
我有一个按钮集合观察室通过一个控制的事件,我想透过细胞的视图模型通过水龙头控制事件(button.rx.rap
),通过视图控制器的视图模式,到集合视图控制器本身(如我需要出示上轻敲事件的视图控制器)。RxSwift:如何通过多个视图模型
这怎么能在这样的Rx(最好不使用对象)来实现?
我们这样做的方式是通过在视图模型使用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可以回收利用。