티스토리 뷰
UIKit 프레임워크
UIKit은 iOS 애플리케이션 개발시 사용자에게 보여질 화면을 구성하고 사용자 액션에 대응에 관련된 다양한 요소를 포함
애플리케이션을 구현할 때 필수적인 부분이다.
UIKit 소개
- UIKit은 iOS 애플리케이션의 사용자 인터페이스를 구현하고 이벤트를 관리하는 프레임워크
- UIKit 프레임워크는 제스처 처리, 애니메이션, 그림 그리기, 이미지 처리, 텍스트 처리 등 사용자 이벤트 처리를 위한 클래스를 포함
- 테이블뷰, 슬라이더, 버튼, 텍스트 필드, 얼럿 창 등 애플리케이션의 화면을 구성하는 요소를 포함
- UIKit 클래스 중 UIResponder에서 파생된 클래스나 사용자 인터페이스에 관련된 클래스는 애플리케이션의 메인 스레드(혹은 메인 디스패치 큐)에서만 사용
- UIKit은 iOS와 tvOS 플랫폼에서 사용
UIKit 기능별 요소
사용자 인터페이스
- View and Control : 화면에 콘텐츠 표시
- View Controller : 사용자 인터페이스 관리
- Animation and Haptics : 애니메이션과 햅틱을 통한 피드백 제공
- Window and Screen : 뷰 계층을 위한 윈도우 제공
사용자 액션
- Touch, Press, Gesture : 제스처 인식기를 통한 이벤트 처리 로직
- Drag and Drop : 화면 위에서 드래그 앤 드롭 기능
- Peek and Pop : 3D 터치에 대응한 미리 보기 기능
- Keyboard and Menu : 키보드 입력ㅇ르 처리 및 사용자 정의 메뉴 표시
Foundation 프레임워크
Foundation은 iOS 애플리케이션의 운영체제 서비스와 기본 기능을 포함하는 프레임워크
애플리케이션에 원하는 기능을 적절히 구현하기 위해서 Foundation 프레임워크를 이해하는 것이 매우 중요
원시 데이터 타입 (String, Int, Double), 컬렉션 타입 (Array, Dictionary, Set) 및 운영체제 서비스를 사용해 애플리케이션의 기본적인 기능을 관리하는 프레임워크
- Foundation 프레임워크는 데이터 타입, 날짜 및 시간 계산, 필터 및 정려르 네트워킹 등의 기본 기능을 제공
- Foundation 프레임워크에서 정의한 클래스, 프로토콜 및 데이터 타입은 iOS 뿐만 아니라 macOS, watchOS, tvOS 등 모든 애플 SDK에서 사용된다.
Foundation에서 제공하는 데이터 타입 및 컬렉션 타입의 대부분은 Objective-C 언어의 기능에서 지원하지 않는 것이기 때문에 언어기능을 보완하기 위한 구현이며, Swift에서는 이에 해당하는 데이터 타입과 기능 대부분을 Swift 표준 라이브러리에서 제공함.
Foundation 기능별 요소
기본
- Number, Data, String: 원시 데이터 타입 사용
- Collection: Array, Dictionary, Set 등과 같은 컬렉션 타입 사용
- Date and Time: 날짜와 시간을 계산하거나 비교하는 작업
- Unit and Measurement: 물리적 차원을 숫자로 표현 및 관련 단위 간 변환 기능
- Data Formatting: 숫자, 날짜, 측정값 등을 문자열로 변환 또는 반대 작업
- Filter and Sorting: 컬렉션의 요소를 검사하거나 정렬하는 작업
애플리케이션 지원
- Resources: 애플리케이션의 에셋과 번들 데이터에 접근 지원
- Notification: 정보를 퍼뜨리거나 받아들이기는 기능 지원
- App Extension: 확장 애플리케이션과의 상호작용 지원
- Error and Exceptions: API와의 상호작용에서 발생할 수 있는 문제 상황에 대처할 수 있는 기능 지원
파일 및 데이터 관리
- File System: 파일 또는 폴더를 생성하고 읽고 쓰는 기능 관리
- Archives and Serialization: 속성 목록, JSON, 바이너리 파일들을 객체로 변환 또는 반대 작업 관리
- iCloud: 사용자의 iCloud 계정을 이용해 데이터를 동기화하는 작업 관리
네트워킹
- URL Loading System: 표준 인터넷 프로토콜을 통해 URL과 상호작용하고 서버와 통신하는 작업
- Bonjour: 로컬 네트워크를 위한 작업
'부스트코스 - iOS' 카테고리의 다른 글
[Swift] 프로그래밍 디자인 패턴 (0) | 2021.07.25 |
---|---|
[Swift] Frame & Bounds (0) | 2021.07.25 |
[Swift] View의 체계 (0) | 2021.07.25 |
[Swift] Cocoa Touch (0) | 2021.07.23 |
[Swift] AVFoundation & Timer (0) | 2021.07.23 |
댓글