본문 바로가기

Responder Chain

UIResponder

UIResponder 란?

이벤트에 응답하고 이벤트를 처리하기 위한 추상 인터페이스

UIResponder의 인스턴스(응답자 개체)는 UIKit 앱의 이벤트 처리 근간을 구성

UIApplication / UIViewController / UIWindow를 포함한 UIView
이러한 주요 개체들 또한 응답자임

Responder 개체의 역할

1️⃣ 이벤트가 발생 시 UIKit은 처리를 위해 앱의 Responder 개체에 이벤트를 전달

이벤트란 터치, 모션, 원격 제어, 프레스 등 다양한 것이 존재
특정 이벤트를 처리하려면 응답자가 해당 메서드를 override 해야 함
ex) 터치 이벤트를 처리하고자 할 때
→ 응답자는 UIKit에서 제공하는 터치 이벤트를 사용
→ 터치에 대한 변경 내용을 추적하고 앱의 인터페이스를 적절히 업데이트함

 

2️⃣ UIKit 응답자는 처리되지 않은 이벤트를 앱의 다른 부분으로 전달을 관리

지정 응답자가 이벤트를 처리하지 않은 경우 해당 이벤트를 Responder Chain의 다음 순서로 넘김
UIKit은 미리 정의된 규칙을 사용을 기반으로 이벤트를 다음에 받을 개체를 결정함
즉, UIKit은 Responder Chain을 동적으로 관리함
ex) 이벤트 전달 예시 View → Super View / Root View → ViewController

 

3️⃣ 응답자는 입력 뷰를 통해 사용자 지정 입력을 받을 수도 있음

ex) 시스템의 키보드
사용자가 TextField 및 TextView 객체를 탭 → View가 첫번째 응답자, 시스템 키보드가 입력 뷰

 

728x90

'Responder Chain' 카테고리의 다른 글

Gesture Recognizer 예시 코드  (0) 2023.11.23
UIEvent  (0) 2023.11.23
Responder Chain  (0) 2023.11.23
Touch Event  (0) 2023.08.19