Swift TIL(64)-델리게이트 패턴 및 텍스트필드 구현

웰디(Well-D)·2023년 10월 30일
0

Sweet & Soft, SWIFT

목록 보기
62/76

내가 이해한데로 정리해보는 텍스트필드(델리게이트 패턴으로 구현되어있음) 에서의 델리게이트 패턴

TIL 64

텍스트 필드와 델리게이트 패턴

델리게이트 패턴으로 구현되어 있음

델리게이트 패턴이란 ? 프로토콜을 채택하는 방법을 통해 객체간의 소통이 가능하도록 구현한 패턴
어떻게 소통할까? 대리자(delegate)를 통해서 소통한다
이 delegate 는 관련 프로토콜 타입으로 확정되어있다(옵셔널)
=> 즉 해당 프로토콜을 채택한 타입은 대리자로 위임이 가능하다

=> 정리 : 관련 프로토콜을 채택한 타입은 delegate 즉 대리자를 지정해서 동작을 위임할 수 있다 (한쪽 객체에서 일어난 일을 다른 쪽 객체에서 구현해줄 수 있다)

왜 프로토콜로 구현했을까?
개발자가 어떤 형식의 커스텀타입(class struct 등) 을 만들어서 사용할지 알 수 없기 때문에 특정 프로토콜을 채택한 타입이면 대리자로 위임이 가능하도록 즉 범용성을 넓혀놓은 것이다.

이 경우에는 UIViewController 가 텍스트delegate관련 프로토콜을 채택하고 텍스트필드를 내부에 생성 후 텍스트필드의 대리자로 UIViewController를 지정(self로 가르키기)하여 텍스트필드의 대리자로써 UIViewController를 사용한다.

즉 textField(실제로는 UITextField 타입으로 확정된 속성인)가 받아오는 동작들을 UIViewController 내부에서 프로토콜 메서드들의 내용을 구체적으로 구현해서 대리로 화면에 적용하는 방식으로 동작한다.

이미 프로토콜에 만들어져있는(필수구현이 아닌 경우가 훨씬 많은) 메서드들의 내용만 구현해주면 된다.

xcode 단축키 모음

profile
Wellness 잘사는 것에 진심인 웰디입니다. 여러분의 몸과 마음, 통장의 건강을 수호하고싶어요. 느리더라도, 꾸준히

0개의 댓글