정의
- 필수 데이터 타입(String, Int, Double,,), 컬렉션 타입(Array, Dictionary, Set), 운영체제 서비스를 이용하여 앱의 기본적인 기능을 관리합니다.
- 데이터 타입, 날짜 및 시간, 필터 및 정렬, 네트워크, 등,, 의 기본 기능을 제공합니다.
- Foundation 프레임워크에서 정의한 클래스, 프로토콜 및 데이터타입은 iOS, MacOS, tvOS, 등,, 모든 애플의 SDK에서 사용됩니다.
기능별 요소
- 기본
- Numbers, Data, and Basic Values : Cocoa 전체에서 사용되는 기본 값 및 기본 타입 유형으로 작업
- Strings and Text : 유니코드 문자의 문자열을 생성 및 처리, 정규식을 사용하여 패턴을 찾고, 자연어 분석 수행
- Collections : Array, Dictionary, Set, 등과 같은 컬렉션 타입 사용
- Dates and Times : 날짜와 시간을 계산하거나 비교하는 작업
- Units and Measurement : 물리적 차원을 숫자로 표현 및 관련 단위간 변환 기능
- Data Formatting : 숫자, 날짜, 측정값, 등을 문자열로 변환 또는 반대 작업
- Filters and Sorting : 컬렉션의 요소를 정렬하거나 검사
- 앱 지원
- Task Management : 어플리케이션의 작업을 관리, 앱이 HandOff 및 Shortcuts와 같은 시스템과 상호작용하는 방식을 관리
- Resources : 애플리케이션의 에셋과 번들 데이터 접근 지원
- Notifications : 정보를 퍼트리거나 받아들이는 작업
- App Extension Support : 앱 확장 애플리케이션과 호스팅 앱 간의 상호작용 관리
- Errors and Exceptions : API 상호작용에서 발생할 수 있는 예외처리
- Scripting Support : 사용자의 AppleScript 및 자동화 기술로 앱을 제어하거나 앱 내에서 스크립트를 실행하도록 지원
- 파일 및 데이터 관리
- File System : 파일 또는 폴더를 생성하고 읽고 쓰는 관리
- Archives and Serialization : 속성, 목록, JSON, 바이너리 파일들을 객체로 변환 혹은 반대
- Preferences : 앱 구성을 위한 도메인 범위 정보를 지속적으로 저장
- Spotlight : 로컬 장치에서 파일 및 기타 항목을 검색하고 검색을 위해 앱 콘텐츠를 인덱싱
- iCloud : 사용자의 iCloud 계정을 이용해 데이터를 관리
- 네트워킹
- URL Loading System : 표준 인터넷 프로토콜을 통해 URL과 상호작용하고 서버와 통신
- Bonjour : 로컬 네트워크를 위한 작업
- 저수준 유틸리티
- XPC : 안전한 프로세스 간 통신을 관리
- Object Runtime : Objective-C 기본 기능, Cocoa 디자인 패턴, Swift 통합에 대한 low-level 지원
- Processes and Threads : 호스트 운영 체제 및 기타 프로세스와 앱의 상호작용 관리
- Steams, Sockets, and Ports : 저수준 Unix 기능을 사용해 파일, 프로세스 및 네티워크 간 입출력을 관리
요약
- Foundation이란 데이터 저장, 텍스트 처리, 시간 및 날짜 계산, 정렬 및 필터링, 네트워킹을 통해 앱과 프레임워크를 위한 기본 계층을 제공하는 프레임워크입니다.
내용 출처
https://velog.io/@zeke/Foundation-Kit
Foundation Kit 이란?
Foundation Kit(줄여서 Foundation이라고 부르기도 함)은 iOS앱을 개발한 경험이 있거나 스위프트로 알고리즘을 풀어봤다면 낯설지 않으리라 생각합니다.
velog.io
https://vincentgeranium.github.io/ios,/swift/2020/05/31/iOS-QnA-Summary-2.html
iOS 면접을 위한 문답 정리 - 10 (bound와 frame의 차이점, Foundation Kit, User Interface를 구성하는데 필수
이 포스트는 iOS 개발 면접을 위한 문답을 정리한 포스트 입니다.
vincentgeranium.github.io
https://developer.apple.com/documentation/foundation
Apple Developer Documentation
developer.apple.com
'iOS > iOS' 카테고리의 다른 글
Main Thread (0) | 2022.03.29 |
---|---|
URLSession (이론) (0) | 2022.03.28 |
GCD [ Grand Central Dispatch ] (0) | 2022.03.24 |
Convenience init (0) | 2022.03.23 |
Singleton Pattern (0) | 2022.03.22 |
댓글