iOS/Interview Questions

[iOS] 앱 화면의 콘텐츠를 표시하는 로직과 관리를 담당하는 객체

hilily 2022. 10. 12. 23:37
반응형

UIViewController

  • UIKit 앱의 뷰 계층 구조를 관리하는 객체
  • 화면 하나를 관리하는 단위
  • 모든 앱은 기본적으로 하나 이상의 뷰 컨트롤러를 가지고 있음

어떤역할?🤔

  • 뷰의 계층을 관리하면서 데이터를 화면에 어떻게 뿌릴지 관리하는 매개체 역할!
  • 뷰에 대한 리소스를 관리함 (이미지, 음성, 진동, 메모리와 같은 리소스)
  • 화면 사이즈, 화면 회전에 대한 대응을 함

=> 요런 여러가지 기능을 하기 때문에 ViewController의 역할이 많아지면서 디자인패턴들 사용 (Model, View, ViewController)

 

뷰는 동작 화면에서는 Storyboard로 구성한 화면만 보이지만, 실제로는 사진과 같은 구조로 많은 층으로 쌓여있다.

UIWindowScene -> UIWindow -> UITransitionView -> UIDropshadowView -> ViewController

여기서 Window라는 틀에 ViewController 깔고 그 위에 구성한 뷰가 화면에 나타난다고 이해했다.

예를들어 어떤 그림을 사진으로 찍을 때 Window는 카메라 앵글, ViewController는 종이, UIView는 그림과 같은 느낌..?인것 같다!..!

 

참고

https://yeonduing.tistory.com/51

반응형