본문 바로가기
iOS/iOS

Foundation Kit

by 황민우 2022. 3. 25.

정의

- 필수 데이터 타입(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

댓글