음악재생) Foundation/ UIKit/ Cocoa Touch

이하연·2021년 8월 15일
0

Boostcourse

목록 보기
4/20

Cocoa Touch

  • 코코아 터치 계층
    • iOS 애플리케이션 개발에 주 축을 이루는 개발환경
    • 애플리케이션의 다양한 기능 구현에 필요한 여러 프레임워크를 포함하는 최상위 프레임워크 계층
    • 핵심 프레임워크인 UIKit, Foundation을 포함합니다.
  • '코코아' 단어
    • Objective-C 런타임 기반
    • NSObject를 상속받는 모든 클래스 또는 객체를 가리킵니다.

UIKit 프레임워크

  • UIKit
    • iOS 애플리케이션의 사용자 인터페이스를 구현하고 이벤트를 관리하는 프레임워크입니다.
    • 이것은 iOS 애플리케이션 개발시 사용자에게 보여질 화면을 구성하고, 사용자 액션에 대응에 관련된 다양한 요소를 포함합니다.
    • 제스처 처리, 애니메이션, 그림 그리기, 이미지 처리, 텍스트 처리 등 사용자 이벤트 처리를 위한 클래스를 포함합니다.
    • 테이블뷰, 슬라이더, 버튼, 텍스트 필드, alert 창 등 애플리케이션 화면을 구성하는 요소를 포함합니다.
    • UIKit 클래스 중 UIResponder에서 파생된 클래스나 사용자 인터페이스에 관련된 클래스는 애플리케이션의 메인 스레드( or 메인 디스패치 큐)에서만 사용하세요!

UIKit 기능별 요소

  • 사용자 인터페이스
    • View and Control : 화면에 콘텐츠 표시
    • View Controller : 사용자 인터페이스 관리
    • Animation and Haptics : 애니메이션과 햅틱을 통한 피드백 제공
    • Window and Screen : 뷰 계층을 위한 윈도우 제공
  • 사용자 액션
    • Touch, Press, Gesture : 제스처 인식기를 통한 이벤트 처리 로직
    • Drag and Drop : 화면 위에서 드래그 앤 드롭 기능
    • Peek and Pop : 3D 터치에 대응한 미리 보기 기능
    • Keyboard and Menu : 키보드 입력을 처리 및 사용자 정의 메뉴 표시

Foundation 프레임워크

  • Foundation
    • iOS 애플리케이션의 운영체제 서비스와 기본 기능을 포함하는 프레임워크입니다.
    • 이것은 원시 데이터 타입(String, Int, Double), 컬렉션 타입(Array, Dictionary, Set) 및 운영체제 서비스를 사용해 애플리케이션의 기본적인 기능을 관리하는 프레임워크 입니다.
    • 데이터 타입, 날짜 및 시간 계산, 필터 및 정렬, 네트워킹 등의 기본 기능을 제공합니다.
    • NSObject를 상속받는 파일을 만들 때 Foundation이 자동으로 import 됩니다.
    • Swift File 을 생성할 때 Foundation 이 자동으로 import 됩니다.

Foundation 기능별 요소

  1. 기본
    • Number, Data, String : 원시 데이터 타입 사용
    • Collection : Array, Dictionary, Set 등과 같은 컬렉션 타입 사용
    • Data and Time : 날짜와 시간을 계산하거나 비교하는 작업
    • Unit and Measurement : 물리적 차원을 숫자로 표현 및 관련 단위 간 변환 기능
    • Data Formatting : 숫자, 날짜, 측정값 등을 문자열로 변환 또는 반대 작업
    • Filter and Sorting : 컬렉션 요소를 검사하거나 정렬하는 작업
  2. 애플리케이션 지원
    • Resources: 애플리케이션의 에셋과 번들 데이터에 접근 지원
    • Notification: 정보를 퍼뜨리거나 받아들이기는 기능 지원
    • App Extension: 확장 애플리케이션과의 상호작용 지원
    • Error and Exceptions: API와의 상호작용에서 발생할 수 있는 문제 상황에 대처할 수 있는 기능 지원
  3. 파일 및 데이터 관리
    • File System: 파일 또는 폴더를 생성하고 읽고 쓰는 기능 관리
    • Archives and Serialization: 속성 목록, JSON, 바이너리 파일들을 객체로 변환 또는 반대 작업 관리
    • iCloud: 사용자의 iCloud 계정을 이용해 데이터를 동기화하는 작업 관리
  4. 네트워킹
    • URL Loading System: 표준 인터넷 프로토콜을 통해 URL과 상호작용하고 서버와 통신하는 작업
    • Bonjour: 로컬 네트워크를 위한 작업

0개의 댓글