: 인스타그램 클론코딩. 로그인 화면 및 회원가입 화면 구현
스토리보드 이용
기본 과제
도전 과제
심화 과제
구현 내용 | 스크린샷 |
---|---|
로그인 화면 | |
회원가입 화면 |
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
resetTextField()
}
private func resetTextField(){
emailTextField.text?.removeAll()
passwordTextField.text?.removeAll()
}
private func setUpClearBtnStatus(){
guard let isEmailTextFieldEmpty = emailTextField.text?.isEmpty else { return }
clearButton.isHidden = !isEmailTextFieldEmpty
}
@objc func textFieldEditingChanged(_ textField: UITextField) {
setUpClearBtnStatus()
loginButton.isEnabled = ![emailTextField, passwordTextField].compactMap {
$0.text?.isEmpty
}.contains(true)
}
private func setUpClearBtnStatus(){
let isEmailTextFieldEmpty = emailTextField.text?.isEmpty == true
if(!isEmailTextFieldEmpty){
clearButton.isHidden = false
}
}
/*
guard let setEmailTextField = !isEmailTextFieldEmpty else {
clearButton.isHidden = false
}
*/
리팩토링이라고 말하기는 부끄럽지만
주석 처리해둔 대로 코드를 작성하고 싶었는데 사용할 수 없었다
왜냐 ?
guard let 구문을 if문쯤으로 생각했기 때문이다 ..😇
!isEmailTextFieldEmpty 부분은 nil / !nil을 구분하는건데 ..
Optional Binding에 대해 나름 열심히 공부한덕에
private func setUpClearBtnStatus(){
guard let isEmailTextFieldEmpty = emailTextField.text?.isEmpty else { return }
clearButton.isHidden = !isEmailTextFieldEmpty
}
최종적으로는 이렇게 수정하였다
너무 많이 배워가는 한 주 !