https://velog.io/@app_shawn/RxSwift-로그인-시스템#2-mvvm-무시-rxswift
반응형 프로그래밍으로 로그인 화면을 만들어보자.
이 화면을 구현해보자.
Email은 "@" 와 "." 이 들어가있어야 빨간색 점이 사라지며 Valid 되고, password는 총 6자 이상이어야 Valid 되며 빨간 점이 사라진다.
그리고 Email, Password 둘다 Valid 되어 빨간점이 없어야 LogIn 버튼이 활성화 Enable 된다.
내가 만약 RxSwift를 알지 못했더라면, 일단 ViewController 에 TextFieldDelegate를 확장해준 후,
아래와 같이 textFieldDidEndEditing 에서 처리를 해줄 것 같다.
Delegate 또한 ReactiveX 와 같이 어느정도 실시간 데이터 처리를 해줄 수 있기 때문. 그렇다면 LoginButton 의 Enabled 여부는 어떻게 해줄까?
역시, textFieldDidEndEditing 안에 조건을 걸어 Email, Password 둘다 Valid 하다면 enable 해주면 된다.
Delegate을 걸어주는 것은 항상 잊지 말자!
이렇게 하면 위처럼 어느정도 로그인이 구현되었음을 알 수 있다.
하지만, Reactive를 사용하지 않고 작성한