UIKit
💡 UIKit
iOS 애플리케이션의 사용자 인터페이스를 구축하고 관리하기 위한 프레임워크이다. iOS 앱에서 버튼, 레이블, 텍스트 필드, 테이블 뷰 등의 UI 요소를 생성하고 관리하는 데 사용되며, iOS 앱의 그래픽 요소와 이벤트 처리, 애니메이션 및 사용자 상호 작용을 담당하여 앱의 외관과 동작을 제어한다. 그리고 iOS 애플리케이션의 주요한 UI 구성 요소들을 제공하며, 앱의 화면을 만들고 사용자와의 상호 작용을 관리하는 데 필수적인 도구이다.
UIKit이 사용된 앱이 가져야 할 필수 조건
- 앱 아이콘
- Launch screen storyboard(Splash Screen)
UIKit 앱의 코드 구조
AppDelegate
앱의 진입점이며, 앱의 생명 주기 이벤트 관리
→ 주요한 메소드
· application(_:didFinishLaunchingWithOptions:)
· applicationWillResignActive(\_:)
· applicationDidEnterBackground(\_:)
· applicationWillEnterForeground(\_:)
· applicationDidBecomeActive(\_:)
· applicationWillTerminate(\_:)
View Controllers (뷰 컨트롤러)
화면의 뷰를 관리하고 사용자 인터페이스 표시
→ 주요 뷰 컨트롤러 클래스
· UIViewController
· UINavigationController
· UITabBarController
Views (뷰)
사용자 인터페이스의 구성 요소를 나타냄
→ UIKit에서는 다양한 뷰 클래스가 제공되며, 버튼, 레이블, 이미지 뷰, 테이블 뷰 등이 있음
Storyboards 또는 코드로 된 인터페이스
사용자 인터페이스를 구성하는 데 사용되는 시각적 도구 또는 코드로 생성된 화면 집합
모델 (Model)
앱의 데이터 및 비즈니스 로직을 처리합니다.
→ 모델은 데이터의 구조, 저장 및 관리를 책임지며, 종종 네트워크 요청, 데이터베이스 액세스 등을 포함
리소스 (Resources)
이미지, 사운드, 문자열 및 기타 정적 파일과 리소스 포함
→ 이러한 리소스는 앱에서 사용되는 컨텐츠를 나타냄
SwiftUI와 UIKit의 차이점
특징 | SwiftUI | UIKit |
선언적 구문 | 선언적 구문 사용하여 사용자 인터페이스를 정의 | 명령형 구문 사용하여 사용자 인터페이스를 작성 |
UI 업데이트 방식 | 상태와 바인딩을 사용하여 자동으로 업데이트 | 직접 UI 업데이트를 관리해야 함 |
코드 줄 수 | 더 적은 코드 라인으로 UI를 작성할 수 있음 | 상대적으로 더 많은 코드 라인이 필요함 |
새로운 기능 지원 | iOS 13부터 지원 | iOS 2부터 지원 |
플랫폼 호환성 | iOS, macOS, watchOS, tvOS 모두 호환 | 주로 iOS에 초점을 맞춤 |
레이아웃 시스템 | 새로운 레이아웃 시스템 사용 | Auto Layout 및 프레임 기반 레이아웃 시스템 사용 |
라이브 프리뷰 | 라이브 프리뷰가 내장되어 있음 | Xcode에서 라이브 프리뷰 사용 가능 |
런타임 에러 감소 | 컴파일 타임에 오류를 감지하여 런타임 에러 감소 | 런타임 에러 발생 가능성이 있음 |
' 𝗔𝗣𝗣𝗟𝗘 > UIKit & SwiftUI' 카테고리의 다른 글
UIKit - UIViewController & UIView (4) | 2024.03.18 |
---|