Delegate 패턴은 Swift 언어와 iOS 앱 개발에서 매우 중요한 디자인 패턴 중 하나입니다.

<aside> 📎 Delegate 패턴이란?


delegate : 대리자


<aside> ♻️ 장정 & 단점


장점

단점

내장 Delegate


UITextFieldDelegate 사용

<aside> 🥕 프로토콜 채택하기

class ViewController: UIViewController, UITextFieldDelegate {
    
    let textField = UITextField()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // delegate를 대리자로 설정해주기
        self.textField.delegate = self
    }
}
// 텍스트필드가 뷰컨에게 "작업이 끝났어 END 입력해" 라고 전달
func textFieldDidEndEditing(_ textField: UITextField) {
    textField.text = "END"
}
// 텍스트필드가 뷰컨에게 "리턴버튼 누르면 키보드 내려도 돼" 라고 전달
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    textField.resignFirstResponder()
}

쌍방향 의사소통의 개념이죠.

</aside>