UIKit

UI와 관련된 다양한 클래스들을 포함하여, MVC 아키텍처를 기본 바탕으로 iOS 앱 구동을 도와주는 꾸러미라고 생각하면 된다. 이러한 UIKit은 Foundation, CoreData, MapKit, CoreAnimation 등의 꾸러미들과 함께 iOS 앱 개발에 많이 활용된다.

MVC 패턴

컨트롤러가 뷰, 모델의 사이에 위치함으로써, 사용자 상호작용에 따른 각종 변화를 뷰와 소통하고, 그 내용은 모델에 전달하는 아키텍처를 의미한다. 도식화하면 다음과 같다.

그러나 MVC 패턴의 현실은, 뷰와 컨트롤러의 강력한 결합으로 인해 사실상 '뷰 컨트롤러'가 모델과 데이터를 주고받는 모습에 가깝다. 뷰는 거의 컨트롤러에 종속적이며, 이러한 관계를 심지어 '컨트롤러 내 뷰 생명주기(View LifeCycle)'라고 개념화하여 이해하기도 한다. 따라서 이러한 MVC 패턴 양상으로부터 변화를 꾀하여, 보다 더 뷰의 활용성을 높이기 위해 MVVM 패턴 등이 대두되었다.

UIView

UIView란 모바일 화면의 직사각형 영역에 대한 내용을 관리하는 개체를 의미한다. UIView는 이미지, 라벨, 각종 제어부(버튼, 슬라이더, 스위치 등), 텍스트필드, 스크롤 등의 UI를 아우른다.

UIViewController

UIViewController란 앱의 근간을 이루는 객체로, 모든 앱은 최소한 하나 이상의 뷰 컨트롤러를 가지고 있다.

UIViewController의 특징

  1. 데이터 변화에 따라 View 컨텐츠를 업데이트
  2. View들과 함께 사용자 상호작용에 응답
  3. View를 리사이징하고 전체적인 인터페이스의 레이아웃 관리
  4. 다른 뷰 컨트롤러들과 함께 앱을 구성

AutoLayout

다양한 해상도에 대응하기 위해 나온 개념으로, 세로보기든 가로보기든, 아이폰 기종과 상관없이 똑같은 크기로 보여지게끔 해주는 기능

Storyboard

화면과 화면간 연결을 도와주는 도구

profile
전직 시스템엔지니어, 현직 데이터엔지니어, 하지만 하고 싶은건 iOS 개발

0개의 댓글