UI와 관련된 다양한 클래스들을 포함하여, MVC 아키텍처를 기본 바탕으로 iOS 앱 구동을 도와주는 꾸러미라고 생각하면 된다. 이러한 UIKit은 Foundation, CoreData, MapKit, CoreAnimation 등의 꾸러미들과 함께 iOS 앱 개발에 많이 활용된다.
컨트롤러가 뷰, 모델의 사이에 위치함으로써, 사용자 상호작용에 따른 각종 변화를 뷰와 소통하고, 그 내용은 모델에 전달하는 아키텍처를 의미한다. 도식화하면 다음과 같다.
그러나 MVC 패턴의 현실은, 뷰와 컨트롤러의 강력한 결합으로 인해 사실상 '뷰 컨트롤러'가 모델과 데이터를 주고받는 모습에 가깝다. 뷰는 거의 컨트롤러에 종속적이며, 이러한 관계를 심지어 '컨트롤러 내 뷰 생명주기(View LifeCycle)'라고 개념화하여 이해하기도 한다. 따라서 이러한 MVC 패턴 양상으로부터 변화를 꾀하여, 보다 더 뷰의 활용성을 높이기 위해 MVVM 패턴 등이 대두되었다.
UIView란 모바일 화면의 직사각형 영역에 대한 내용을 관리하는 개체를 의미한다. UIView는 이미지, 라벨, 각종 제어부(버튼, 슬라이더, 스위치 등), 텍스트필드, 스크롤 등의 UI를 아우른다.
UIViewController란 앱의 근간을 이루는 객체로, 모든 앱은 최소한 하나 이상의 뷰 컨트롤러를 가지고 있다.
다양한 해상도에 대응하기 위해 나온 개념으로, 세로보기든 가로보기든, 아이폰 기종과 상관없이 똑같은 크기로 보여지게끔 해주는 기능
화면과 화면간 연결을 도와주는 도구