UIViewController
- UIKit 앱의 뷰 계층 구조를 관리하는 객체
- 화면 하나를 관리하는 단위
- 모든 앱은 기본적으로 하나 이상의 뷰 컨트롤러를 가지고 있음
어떤역할?🤔
- 뷰의 계층을 관리하면서 데이터를 화면에 어떻게 뿌릴지 관리하는 매개체 역할!
- 뷰에 대한 리소스를 관리함 (이미지, 음성, 진동, 메모리와 같은 리소스)
- 화면 사이즈, 화면 회전에 대한 대응을 함
=> 요런 여러가지 기능을 하기 때문에 ViewController의 역할이 많아지면서 디자인패턴들 사용 (Model, View, ViewController)
뷰는 동작 화면에서는 Storyboard로 구성한 화면만 보이지만, 실제로는 사진과 같은 구조로 많은 층으로 쌓여있다.
UIWindowScene -> UIWindow -> UITransitionView -> UIDropshadowView -> ViewController
여기서 Window라는 틀에 ViewController 깔고 그 위에 구성한 뷰가 화면에 나타난다고 이해했다.
예를들어 어떤 그림을 사진으로 찍을 때 Window는 카메라 앵글, ViewController는 종이, UIView는 그림과 같은 느낌..?인것 같다!..!
참고
'iOS > Interview Questions' 카테고리의 다른 글
[iOS] 앱이 시작할 때 main.c 에 있는 UIApplicationMain 함수에 의해서 생성되는 객체 (0) | 2022.10.13 |
---|---|
[iOS] App thinning(앱 시닝) 이란? (0) | 2022.10.13 |
[iOS] 앱의 콘텐츠나 데이터 자체를 저장/보관하는 특별한 객체 (0) | 2022.10.11 |
[iOS] 실제 디바이스가 없을 경우 개발 환경에서 할 수 있는 것과 없는 것 (0) | 2022.10.11 |
[iOS] Frame과 Bounds (0) | 2022.10.10 |