Slide 16
Slide 16 text
.77.
// ViewController
viewModel.mailPlaceHolderText
.asDriver(onErrorJustReturn: "")
.drive(rx.mailPlaceHolderText)
.disposed(by: disposeBag)
mailTextField.rx.text.orEmpty
.bind(to: viewModel.emailObserver)
.disposed(by: disposeBag)
loginButton.rx.tap
.bind(to: viewModel.onLoginActionFired)
.disposed(by: disposeBag)
// ViewModel
var mailPlaceHolderText: Observable {
return .just(R.string.localizable.loginScene_MailPlaceHolder())
}
_email
.map(validationUsecase.email)
.bind(to: _emailValidation)
.disposed(by: disposeBag)
_onLoginActionFired
.withLatestFrom(Observable.combineLatest(_email, _password))
.subscribe(onNext: loginUsecase.login)
.disposed(by: disposeBag)