오늘의 지식: UIKit

1 분 소요

UIKit이란?

iOS와 tvOS 앱의 그래픽 이벤트 기반의 사용자 인터페이스를 구성하고 관리하는 프레임워크입니다.

개요

UIKit 프레임워크는 iOS와 tvOS 앱에 필요한 인프라를 제공합니다. 유저 인터페이스 구현을 위해 윈도우와 뷰 아키텍처를 제공하고 멀티 터치와 기타 유형의 입력을 앱에 전달하기 위한 이벤트 처리 인프라를 구성하고 사용자와 시스템 그리고 앱 간의 상호작용을 관리하는 데 필요한 메인 런 루프를 제공합니다. 이 외에도 UIKit에서는 애니메이션, 문서, 그리기와 출력, 현재 디바이스에 대한 정보, 텍스트 관리와 표시, 검색, 접근성, 앱 확장 및 리소스 관리와 같은 기능을 제공합니다.

❗️별도로 명시하지 않는 이상 UIKit 클래스는 main thread 또는 main dispatch queue에서만 사용해야 합니다. 이러한 제약사항은 특히 UIResponder에서 파생되거나 어떤 방식으로든 앱 사용자 인터페이스를 조작하는 것과 관련된 클래스에 적용됩니다.

🤔 왜 UIKit 클래스는 main thread 또는 main dispatch queue에서만 사용해야 하는 걸까요❓

iOS 애플리케이션의 인스턴스인 UIApplication은 Cocoa Touch의 진입점 함수인 UIApplicationMain()에 의해 생성되기 때문에 메인 스레드에서 실행됩니다.

Cocoa Touch의 진입점 함수인 UIApplicationMain()가 생성하는 애플리케이션 인스턴스인 UIApplication은 메인 스레드에서 실행됩니다. 또한 앱 런 루프를 포함하여, 메인 이벤트 루프를 설정하고 이벤트 처리를 시작합니다. 앱 메인 이벤트 루프는 모든 UI 이벤트를 수신하게 됩니다. 따라서 이러한 이벤트가 메인 스레드에서 발생하는 것을 볼 수 있으므로 main thread 또는 main dispatch queue에서만 사용해야 합니다.

UIKit에는 다음과 같은 토픽이 존재합니다.

Essentials

  • UIKit과 Xcode가 iOS와 tvOS 앱에 기본적으로 제공하는 기능에 대해서 다룹니다.
  • 개인정보 보호에 관한 사항을 다룹니다.

App Structure

  • 시스템과 앱 간의 상호작용을 관리하고 앱 데이터 및 리소스를 관리할 수 있는 클래스를 제공합니다.

User Interface

  • 뷰는 화면에 콘텐츠를 표시하고 사용자와 상호작용을 할 수 있도록 도와줍니다. 뷰 컨트롤러는 뷰와 인터페이스 구조를 관리할 수 있도록 도와줍니다.

User Interactions

  • 리스폰더와 제스처 인식기는 터치 및 기타 이벤트를 처리하는 것을 도와줍니다. 드래그 앤 드롭 포커스, 픽 앤 팝 그리고 접근성은 다른 사용자 상호작용을 처리합니다.

Graphics, Drawing, and Printing

  • 드로잉 환경을 구성하고 콘텐츠를 렌더링하는 데 도움이 되는 클래스와 프로토콜을 제공합니다.

Text

  • 앱에서 텍스트를 표시하는 텍스트 뷰 외에도 시스템 키보드를 지원하는 사용자 정의 텍스트 관리 및 렌더링을 제공합니다.

참고 링크


Apple UIKit

카테고리:

업데이트:

댓글남기기