앱의 기본 계층의 기능을 정의하기 위해 필수적인 데이터 타입, 콜렉션, 운영체제 서비스에 접근한다.
데이터 저장과 지속성, 텍스트 처리 과정, 날짜와 시간 계산, 정렬과 필터링, 네트워킹을 포함한 기능의 기본 계층을 제공한다.
Foundation 에 정의된 클래스, 프로토콜, 데이터 타입들은 macOS, iOS, watchOS, tvOS SDK 에서 사용된다.
UIKit 을 import 하면 Foundation 도 import 되기 때문에 UIKit 와 Foundation 을 같이 import 해줄 필요없다.
Swift Standard Library 를 참조하기 때문에 Swift 를 import 하지 않아도 된다.
Swift Standard Library
복잡한 문제를 해결하고, 성능 좋고 읽기 쉬운 코드를 작성한다.
Swift 프로그램을 작성하기 위한 기능 (Int, Double, String 을 포함한 기본 데이터 타입 / Array, Dictionary, Set 을 포함한 데이터 구조체 / print(), abs() 를 포함한 전역 함수 / Collection, Equatable 과 같이 일반적인 추상화를 표현하는 프로토콜 / CustomDebugStringConvertible, CustomReflectable 과 같이 모든 타입에 사용 가능한 작업을 사용자화하기 위해 사용하는 프로토콜 / OptionSet 과 같이 자주 재사용하는 코드를 필요로 하는 구현을 제공하는 프로토콜) 의 기초 계층을 정의한다.
Swift
기본 데이터 타입만 사용할 때 import 한다.
Foundation 에 포함되어 있는 Class
JSONDecoder
Swift 4 이전 버전까지는 JSONSerialization 으로 JSON 타입의 데이터를 생성했지만, Swift 4 버전부터는 JSONEncoder 와 JSONDecoder 가 Codable 프로토콜을 지원하기 때문에 손쉽게 JSON 형식으로 인코딩 & 디코딩할 수 있게 되었다.