본문 바로가기
iOS

[iOS] Foundation

by thoonk: 2021. 5. 22.

Foundation Framework에 관한 내용을 기록합니다.

Foundation Framework 

Access essential data types, collections, and operating-system services to define the base layer of functionality for your app.

원시 데이터 타입(Int, Double, String), 컬렉션 타입(Array, Dictionary, Set) 및 운영체제 서비스에 접근하여 데이터 저장 및 지속성, 텍스트 처리, 날짜 및 시간 계산, 정렬 및 필터링, 네트워킹을 포함한 앱의 기본 기능을 관리하는 프레엠워크이다.

 

코코아 터치 프레임워크에 포함된 프레임워크이다.

앱의 기본 층을 구성하는 필수적인 데이터 타입, collections, os services에 접근할 수 있는 프레임워크이다.

 

Fundamentals

Numbers, Data, and Basic Values

  • Int
  • Double
  • Decimal
  • Data
  • String, NSAttributedString

→ 원시 데이터 타입 사용

 

Collections

→ 배열, 딕셔너리, 집합 등과 같은 컬렉션 타입

 

Dates and Times

→ 날짜와 시간을 계산하거나 비교하는 작업

 

Unites and Measurement

→ 물리적 차원을 숫자로 표현 및 관련 단위 간 변환 가능

 

Data Formatting

  • NumberFormatter, DateFormatter

→ 숫자, 날짜, 측정 값 등을 문자열로 변환하거나 그 반대로 변환


App Support

Task 관리

앱 작업 및 Handoff 및 Shortcuts와 같은 시스템 서비스와 상호작용하는 방식을 관리

 

Resources

앱과 함께 bundle로 제공되는 asset과 다른 데이터에 접근

 

Notifications

브로드캐스트 구독하거나 정보를 브로드캐스팅하기 위한 디자인 패턴

 

App Exstension Support

확장 애플리케이션과의 상호작용을 지원

 

Errors and Exceptions

API와 상호작용하면서 발생할 수 있는 문제에 대응할 수 있는 기능을 지원 (Error)

 

Scripting Support

사용자가 AppleScript 및 기타 자동화 기술로 앱을 제어하거나 앱 내에서 스크립트를 실행하는 기능을 지원


Files and Data Persistence

File System

  • 파일 또는 폴더 생성 및 읽기, 쓰기
  • FileManager

Archives and Serialization

  • 프로퍼티 목록 및 JSON, 다른 바이너리 파일들을 객체 또는 값으로 변환 또는 반대 작업
  • Codable, JSONEncoder, JSONDecoder, JSONSerialization

 Preferences

  • 앱을 구성하기 위해 지속적으로 도메인 범위의 정보를 저장
  • UserDefaults

 Spotlight

  • 로컬 기기에서 파일과 다른 항목을 검색

iCloud

  • 사용자의 iCloud 기기간에 파일 및 키-값 데이터 동기화를 관리
  • FileManager

Networking

URL Loading System

  • 표준 인터넷 프로토콜을 통해 URL과 상호작용하고 서버와 통신하는 작업
  • URLSession, URLSessionTask, URLRequest, URLResponse

Bonjour

  • 로컬 네트워크 서비스

Low-Level Utilities

  • XPC
  • Object Runtime
  • Processes and Threads
  • Streams, Sockets, and Ports

 

공식 문서를 참고한 결과 Foundation은 이러한 기능을 가지는 것을 알 수 있었습니다. 

부족한 점은 피드백해주시면 감사합니다!

 

 

참고: 

 

Apple Developer Documentation

 

developer.apple.com

 

'iOS' 카테고리의 다른 글

[iOS] UIView & CALayer  (0) 2021.06.01
[iOS] Notification Center  (0) 2021.05.27
[iOS] App Bundle  (1) 2021.05.14
[iOS] FSCalendar Custom Header Swift  (2) 2021.03.10
[iOS] Firebase와 Google 로그인 연동하기  (0) 2021.02.02

댓글