UIView는 Apple 공식문서에 '화면의 직사각형 영역에 대한 내용을 관리하는 객체'라 명시되어있습니다.
이는 화면을 구성하는 요소들의 기본 클래스이며, 위치와 크기를 갖는 사각형으로, 배경색을 가지고 있고, 문자나 이미지 등의 컨텐츠를 가지는 것이 가능합니다.
그림과 같이 여러 UI컴포넌트들의 부모클래스가 되는 것이 UIView입니다.
그렇기에 앱에서 흔히 볼 수 있는 Label, Image, Button, 기타 인터페이스 요소를 표시하려면, UIKit Framework가 제공하는 뷰 하위클래스를 사용하면 됩니다.
UIViewController는 Apple 공식문서에 'UIKit 앱의 뷰 계층 구조를 관리하는 객체'라 명시되어있습니다.
이는 앱의 근간을 이루는 객체로 모든 앱은 최소한 하나 이상의 뷰 컨트롤러를 가지고 있는데, 한 마디로 사용자가 화면을 보는 것에 대한 관리기능을 제공하는 객체입니다. (xcode에서 프로젝트를 생성하면 기본적으로 ViewController파일 하나는 이미 존재함)
UIViewController의 역할.
데이터 변화에 따라서 view 컨텐츠를 업데이트
view들과 함께 사용자 상호작용에 응답 및 이벤트 처리
view를 리사이징하고 전체적인 인터페이스의 레이아웃 관리.
뷰컨트롤러들 간 화면 전환
다른 뷰컨트롤러들과 함께 앱을 구성.
실제로 View는 사용자에게 보여지는 부분인 객체이고, ViewController는 화면에 보이지 않는 객체입니다.
UIView를 상속받은 모든 친구들을 다 View라고 생각하면되고, 이 View를 관리해주는 눈에 보이지 않는 친구들이 ViewController라 생각하시면 됩니다.
ViewController는 따로 파일형태로 되어있고, 화면 하나하나에 그 화면(View)을 관리하는 ViewController 클래스가 연결되어 있으며, UIViewController를 서브클래싱하고 있습니다.
위 사진: 좌측 화면 - (root)View, 우측 화면 - 그를 관리하는 ViewController
아래 사진: 좌측 화면 - (codePresent)View, 우측 화면 - 그를 관리하는 CodePresentViewController
공부중인 단계라 코드가 클린하지 못한점은 ... 유감입니다...😂
상기 내용들은 fastcampus강의, youtube, 구글링 등을 통해 작성된 내용입니다.
가장 첫번째 이미지 퍼가도될까요?