Cocoa Touch Framework
- ios 개발환경을 구축하기 위한 최상위 프레임워크
- 다양한 기능 구현에 필요한 여러 개발도구를 포함

UIKit
- macOS, iOS, tvOS등에서 사용자 인터페이스를 구축하기 위해 Apple에서 제공하는 프레임워크
- 앱 개발을 위한 풍부한 대화형 인터페이스를 만들 수 있는 다양한 구성요소와 기능 포함
- 앱 UI 시각적 요소를 구성하기 위한 계층 구조를 제공하는 window와 view 아키텍처
- multi-touch 제스처 및 기타 유형의 입력을 포함하여 앱이 사용자 입력에 응답할 수 있도록 하는 이벤트 처리 인프라
- 앱, 사용자 및 시스템 간의 상호 작용을 관리하는 기본 실행 루프
- 버튼, 레이블, 텍스트 필드 등과 같은 다양한 UI 구성 요소
- 그리기 및 애니메이션 도구를 사용하여 사용자 지정 UI 생성
UIKit은 또 다른 프레임워크인 SwiftUI와도 잘 작동한다. 두 프레임워크를 함께 사용하면 Apple의 모든 플랫폼에서 원활하게 작동하는 강력하고 유연한 UI를 만들 수 있다.
UIKit은 기본적으로 MVC 디자인 패턴을 사용한다.
https://developer.apple.com/documentation/uikit/
Foundation
- macOS, iOS, watchOS 및 tvOS에서 애플리케이션 구축을 위해 개발자에게 필수 기능을 제공하는 프레임워크
- 파일, 디렉토리 및 URL과 같은 다양한 유형의 데이터 저장 작업을 위한 클래스와 다양한 데이터를 읽고 쓰는 클래스 (XML/JSON)
- 문자열 인코딩, 서식 지정 및 조작을 비롯한 문자열 작업을 위한 클래스 (정규식 및 자연어 처리)
- 다른 시간대 간 변환 및 계산을 수행하여 날짜, 시간, 달력 작업을 위한 클래스
- 배열, 디렉토리, 정렬, 필터링하기 위한 클래스
- HTTP, FTP, 데이터 전송 및 네트워크 연결 처리를 위한 클래스
위 내용은 Foundation 프레임워크가 다루는 몇가지 예시이다. 이러한 필수 기능에 대한 공통 클래스 및 프로토콜 집합을 제공하여 Apple 플랫폼에서 안정적인 애플리케이션을 보다 쉽게 구축할 수 있도록 한다.