아요 개발 일기

[iOS] Foundation 본문

iOS

[iOS] Foundation

소진이 2023. 1. 29. 15:13

Foundation

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

 


 

🧐  새롭게 ViewController 파일을 생성하면 상단에 'import UIKit'이 기본적으로 명시되어있죠.

그렇다면 어떤 파일을 생성하면 'import Foundation'이 기본적으로 명시되어있을까요?

 

UIKit을 import하면 자동으로 Foundation이 import됩니다. 

UIKit 프레임워크에서 이미 Foundation 프레임워크를 import 했기 때문에 따로 import 하지 않아도 UIKit에 의해서 추가됩니다.


 

참고 사이트

https://www.edwith.org/boostcourse-ios/lecture/17996/

https://developer.apple.com/documentation/foundation

 

 

Foundation Framwork에 참 많은 기능이 포함되어있죠?

아직 지식적으로 부족해서 처음 접하는 Framwork가 더 많았던 것 같아요.

나중에는 대부분 사용하고 있었으면 좋겠네요 :D