Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. import RxSwift
  2.  
  3. struct LoginViewModel {
  4.  
  5. var username = Variable<String>("")
  6. var password = Variable<String>("")
  7.  
  8. var isValid : Observable<Bool>{
  9. return Observable.combineLatest(self.username.asObservable(), self.password.asObservable())
  10. { (username, password) in
  11. return username.characters.count > 0
  12. && password.characters.count > 0
  13. }
  14. }
  15. }
  16.  
  17. import RxSwift
  18. import RxCocoa
  19. import UIKit
  20.  
  21. class LoginViewController: UIViewController {
  22. var usernameTextField: UITextField!
  23. var passwordTextField: UITextField!
  24. var confirmButton: UIButton!
  25.  
  26. var viewModel = LoginViewModel()
  27.  
  28. var disposeBag = DisposeBag()
  29.  
  30. override func viewDidLoad() {
  31. usernameTextField.rx.text.bindTo(viewModel.username).addTo(disposeBag)
  32. passwordTextField.rx.text.bindTo(viewModel.password).addTo(disposeBag)
  33.  
  34. //from the viewModel
  35. viewModel.rx.isValid.map { $0 }
  36. .bindTo(confirmButton.rx.isEnabled)
  37. }
  38. }
  39.  
  40. let _ = viewModel.username.asObservable()
  41. .map { $0 }
  42. .bind(to: usernameTextField.rx.text)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement