Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import RxSwift
- // -- View Model
- struct LoginViewModel {
- var username = Variable<String>("")
- var password = Variable<String>("")
- var isValid : Observable<Bool>{
- return Observable.combineLatest( self.username, self.password)
- { (username, password) in
- return username.characters.count > 0
- && password.characters.count > 0
- }
- }
- }
- // ----- View Controller
- import RxSwift
- import RxCocoa
- class LoginViewController {
- var usernameTextField: UITextField!
- var passwordTextField: UITextField!
- var confirmButton: UIBUtton!
- var viewModel = LoginViewModel()
- var disposeBag = DisposeBag()
- override func viewDidLoad(){
- super.viewDidLoad()
- usernameTextField.rx.text.bindTo(viewModel.username).addTo(disposeBag) passwordTextField.rx.text.bindTo(viewModel.username).addTo(disposeBag)
- //from the viewModel
- viewModel.rx.isValid.map{ $0 }
- .bindTo(confirmButton.rx.isEnabled)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement