아요 개발 일기

[iOS] UIKit 본문

iOS

[iOS] UIKit

소진이 2023. 1. 2. 10:51

안녕하세요 :D
오늘은 개발을 시작할 때 처음 마주하게되는 프레임 워크인 UIKit에 대해서 알아보도록 하겠습니다!

 

 

Xcode로 프로젝트를 만들면 자동을 UIKit이 포함되어있는 것을 볼 수 있죠??
근데 iOS 공부를 하면서 UIKit에 대해서는 아주 간단하게만 설명하거나, 넘어가는 경우가 많아서 정리하게 됐습니다 :)
기본으로 들어가 있는거면 분명 중요한거겠죠!U

함께 알아봅시다 고고고

 


 

UIKit이 대체 뭐야 ? 🤔

 

UIKit은 Framework로 iOS 또는 tvOS 애플리케이션의 사용자 인터페이스를 구현하고 이벤트를 관리합니다.

즉, UIKit은 빌드하는데 필요한 핵심 개체를 제공하며 이 개체를 이용하여 콘텐츠를 화면에 표시하고 해당 콘텐츠와의 상호 작용을 관리합니다.


은 기본 동작을 위해 UIKit에 의존하며

UIKit은 특정 요구 사항에 맞게 해당 동작을 사용자 지정할 수 있는 다양한 방법을 제공

 

  • 제스처 처리, 애니메이션, 그림 그리기, 이미지 처리, 텍스트 처리 등 사용자 이벤트 처리를 위한 클래스를 포함
  • 테이블 뷰, 슬라이더, 버튼, 텍스트 필드, 얼럿 창 등 애플리케이션의 화면을 구성하는 요소를 포함

 

Framwork를 모르시는 분들은 Framework와 Library 글을 먼저 보고오시면 좋습니다!

 


 

UIKit 앱의 코드 구조

 

UIKit은 시스템과 상호작용하고, 앱의 메인 이벤트 루프를 실행하며 화면에 콘텐츠를 표시하는 것 이외에도 앱의 많은 핵심 객체를 제공합니다.

이러한 객체의 대부분은 있는 그대로 사용하거나 약간 수정하여 사용하며, 이때 수정할 객체 객체 수정 시기를 아는 것이 앱을 구현하는데 중요합니다.

 

UIKit앱의 구조는 MVC(Model-View-Controller) 디자인 패턴을 기반으로하며 개체는 목적에 따라 구분됩니다.

 

  • Model Object는 앱의 데이터 및 비지니스 로직을 관리
  • View Object는 데이터의 시각적 표현을 제공
  • Controlle Object Model과 View 객체 사이의 다리 역할을하며, 적절한 시점에 Model간에 데이터를 이동


아래 그림은 일반적인 UIKit 앱의 구조입니다.
UIKit은 필요에 따라 데이터에 대한 custom views를 정의도 할 수 있지만, 대부분은 view objects를 제공합니다.

 

 

  • UIKit 및 Foundation framework는 앱의 Model Object를 정의할 때 사용하는 많은 기본 유형을 제공합니다.
  • UIKit UIDocument 디스트 기반 파일에 속하는 데이터 구조를 구성하기 위한 개체를 제공 합니다.
  • Foundation framework 문자열, 숫자, 배열 및 기타 데이터 유형을 나타내는 기본 개체를 정의합니다.
  • 스위프트 표준 라이브러리 재단 프레임 워크에서 사용할 수 있는 동일한 유형을 많이 제공합니다.


UIKit은 컨트롤러에 있는 대부분의 개체와 앱의 View layer를 제공합니다.

특히 UIKit UIView는 일반적으로 콘텐츠를 화면에 표시하는 클래스를 정의합니다.

(Metal 및 기타 시스템 프레임 워크를 사용하여 콘텐츠를 화면에 직접 렌더링 할 수도 있습니다.)

이 UIApplication개체는 앱의 기본 이벤트 루프를 실행하고 앱의 전체 수명주기를 관리합니다.


 

UIKit 기능별 요소

 

사용자 인터페이스

  • View and Control : 화면에 콘텐츠 표시
  • View Controller : 사용자 인터페이스 관리
  • Animation and Haptics : 애니메이션과 햅틱을 통한 피드백 제공
  • Window and Screen : 뷰 계층을 위한 윈도우 제공

 

사용자 액션

  • Touch, Press, Geesture: 제스처 인식기를 통한 이벤트 처리 로직
  • Drag and Drop: 화면 위에서 드래그 앤 드롭 기능
  • Peek and Pop: 3D 터치에 대응한 미리 보기 기능
  • Keyboard and Menu: 키보드 입력을 처리 및 사용자 정의 메뉴 표시

 


참고 사이트
[부스트코스] iOS 프로그래밍
apple 공식 문서

'iOS' 카테고리의 다른 글

[iOS] ViewController Life - cycle (생명주기)  (0) 2023.01.02
[iOS] Apple's MVC 패턴  (0) 2023.01.02
[iOS] 동기(Sync) / 비동기(Async)  (0) 2023.01.02
[iOS] 프로그래밍 디자인 패턴  (0) 2022.12.30
[iOS] 메모리 구조  (0) 2022.12.30