본문 바로가기
iOS

[Basic] Foundation 이란?

by 중곰 2021. 7. 26.

Swift 새로운 파일을 만들게 되면 항상 Default로 선언되어 있는 Import Foundation을 보게 되었다.

이건 뭔데... 기본적으로 선언되어 있는가? 싶었다.

Foundation은 iOS 앱의 운영체제 서비스와 기본 기능을 포함하는 프레임워크로 중요한 일을 하고 있다는걸 알게되고 사실 놀랐다.. 역시 하나하나 확인하면서 개발해야된다..는걸 다시 깨닫게 된다.

Foundation은 원시 데이터 타입(String, Int, Double), 컬렉션 타입(Array, Dictionary, Set) 및 운영체제 서비스를 사용해 애플리케이션의 기본적인 기능을 관리한다.

* 데이터 타입, 날짜 및 시간 계산, 필터 및 정렬, 네트워킹 등의 기본 기능도 제공

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: 로컬 네트워크를 위한 작업

반응형