Created
May 13, 2017 17:16
-
-
Save TheCodedSelf/b1ad83927b470f32aad8d4fde415327e to your computer and use it in GitHub Desktop.
RxSwift: Bind to button taps
Simple and cool. But I think the disposed-by is missing:
button.rx.tap
.bind {
print("button tapped")
}
.disposed(by: someDisposeBag)
Dont know the difference but Im used to do this way:
btnSend.rx.tap.subscribe(onNext: { [ weak self ] in
self?.showLoader()
self?.viewModel.updatePassword(success: {
self?.hideLoader()
self?.navigationController?.popToRootViewController(animated: true)
}) { (message, highlight) in
self?.hideLoader()
self?.showErrorAlert(message: message)
}
}).disposed(by: viewModel.bag)
Which is the better way?
Using bind is better way because tap is a ControlEvent<()>, so it never emits an error. In case of using subscribe, it's not obvious anymore.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
cool!