Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

Olive Study Room

[iOS] Cocoa touch(UIKit, Foundation) 본문

Coding/iOS

[iOS] Cocoa touch(UIKit, Foundation)

Olive Dev 2021. 10. 10. 01:36

보통 프로젝트를 생성하면 상단에

import Foundation
import UIKit

위와 같은 코드가 미리 적힌 것을 발견할 수 있다. 

이 두 개는 무엇이고 어떤 차이가 있을까?

 

먼저, UIKit을 import하면 자동으로 Foundation도 import된다.


UIKit Framework

iOS와 tvOS에 들어가는 앱을 빌드하는데 필요한 핵심 객체를 지원하는 프레임워크다. 객체를 사용하여 콘텐츠를 화면에 표시하고, 콘텐츠와 상호작용하고 시스템과의 상호작용을 관리할 수 있다. 앱은 기본 동작을 UIKit에 의존하며 UIKit은 요구에 맞게 동작을 커스터마이징할 수 있는 다양한 방법을 제공한다.

1. UIKit 어플리케이션의 구조는 객체가 목적에 따라 구분되는 MVC(Model-View-Controller) 디자인 패턴을 기반으로 한다. 모델 객체는 앱의 데이터나 비즈니스 로직을 관리하고 뷰 객체는 데이터의 시작적 표현을 제공한다. 컨트롤러 객체는 모델과 뷰 사이에서 적절한 타이밍에 데이터를 이동시킨다. 

 

앱의 데이터 구조를 나타내는 모델 객체가 제공되는데, 데이터 객체와 뷰 사이의 데이터 교환을 조정하는 것은 viewcontrollerapp delegate 객체다. -> 👆반드시 UIViewController에서 UIKit을 import해줘야한다!

 

2. 제스처 처리, 애니메이션, 그림그리기, 이미지 처리, 텍스트 처리 등 사용자 이벤트 처리를 위한 클래스를 포함한다.

 

3. 테이블뷰, 슬라이더, 버튼, 텍스트 필드, 얼럿 창과 같은 어플리케이션 화면을 구성하는 요소를 포함한다.

 

4. UIKit 클래스 중 UIResponder에서 파생된 클래스나 사용자 인터페이스에 관련된 클래스는 애플리케이션의 메인 스레드(혹은 메인 디스패치 큐)에서만 사용.

 

필수 리소스

모든 UIKit을 사용하는 앱은 아래 리소스를 필수적으로 요구한다.
  • 앱 아이콘
  • Launch 스크린 스토리보드

앱 아이콘 설정(asset) / LauchScreen

앱 아이콘은 홈스크린, 설정 및 다른 앱과 구분하는데 필요한 모든 위치에 앱 아이콘을 표시한다.

LaunchScreen.storyboard 파일에는 앱의 초기 사용자 인터페이스가 포함되고 스플레시화면이나 실제 인터페이스의 단순화된 버전일 수 있다. 앱이 시작되고 있음을 알린다.

 


Cocoa Touch 

Cocoa : 데스크톱 운영 체제 macOS를 위한 Apple의 기본 객체 지향 응용 프로그래밍 인터페이스(API) 

              Objective-C 런타임을 기반으로 하고 NSObject를 상속받는 모든 클래스 또는 객체를 가리킬 때 사용한다.

 

Cocoa touch : iOS개발에 필요한 여러 프레임워크(UIKit, Foundation)를 포함하는 최상위 프레임워크다.

 

❗️둘 다 MVC패턴을 따르는 앱 개발 환경이다.

❗️각각 macOS, iOS에서 실행되는 앱을 위한 Api이고 프레임 워크를 포함한다.

 

 

framework란?  Shared Library(or API)와 비슷한 개념으로, 어떤 기능에 관련된 함수들을 모아 놓은 것

 

 

 

.. 추가 예정

Comments