View에 관하여
1. NSObject <- 시초신;;
2. UIResponder <- 아래에 길게 좀 쓰겠음
리스폰더 객체(Responder objects), 즉 UIResponder의 인스턴스는 UIKit 앱 이벤트 처리 백본(backbone)을 구성합니다.
많은 핵심 객체는 UIApplication객체, UIViewController객체 및 모든 UIView객체(UIWindow포함)을 포함하여 리스폰더입니다.
(UIApplication객체, UIViewController객체, UIView객체가 모두 리스폰더라는 소리 ㅇㅇ)
이벤트가 발생하면, UIKit은 이를 처리할 수 있도록 앱의 리스폰더 객체에 전달합니다.
즉, UIApplication객체, UIViewController객체, UIView객체가 이 이벤트를 다룰 수 있다는 거겠죠?
터치이벤트, 모션이벤트, 원격제어 이벤트 및 press이벤트를 비롯한 여러 종류의 이벤트가 있습니다. 특정 타입의 이벤트를 처리하려면, 리스폰더가 해당 메소드를 override해야합니다 (To handle a specific type of event, a responder must override the corresponding methods)
+
이벤트처리 이외에도 UIKit 리스폰더는 처리되지 않은 이벤트를 앱의 다른 부분으로 전달하는 작업을 관리합니다.
주어진 리스폰더가 이벤트를 처리하지않으면, 리스폰더 체인의 다음 이벤트로 해당 이벤트를 전달합니다. UIKit은 미리 정의된 규칙을 사용하여 리스폰더 체인을 동적으로 관리하여 어떤 객체가 이벤트를 수신한 다음에 어떤 객체를 선택할지 결정합니다. 예를들어 View는 이벤트를 상위 View로 전달하고, 계층의 루트 View는 이벤트를 해당 ViewController로 전달합니다.
음.. ㅇㅋ
3. UIView + UIViewController
3-1. UIControl -> action 할 수 있는 뷰들(button, slider ...)
3-2. UILabel, UIImageVIew( UIImage는 바로 NSObject 상속 받네잉.. ) 등등
3-3. UIScrollView
등등 이렇게 구성됨