• Home
  • About
    • 황우진 블로그 photo

      황우진 블로그

      경희대학교 컴퓨터공학과 재학중

    • Learn More
    • Email
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

[Booster 2기] 코코아 터치 프레임워크에 대해 알아보기

31 Jan 2020

Reading time ~2 minutes

[부스트코스]iOS 프로그래밍 강좌에 대한 정리글입니다.

[부스트코스]iOS 프로그래밍 Booster 2기 활동 글입니다.

[이전 포스트]Xcode 의 UI 중 버튼, 레이블 그리고 슬라이더 알아보기


코코아 터치 프레임워크는 iOS 개발에 필요한 여러 프레임워크들을 포함하고 있는 최상위 레벨의 프레임워크입니다. 핵심 프레임워크로는 UI 개발에 사용되는 UIKit 과 자료형과 메소드가 정의되어 있는 Foundation Kit 이 있습니다.

macOS 개발에는 코코아 프레임워크가 사용됩니다. 여기서는 UIKit 대신 Application Kit 이 사용됩니다.

UIKit


UIKit 은 iOS 또는 tvOS 에서 사용자의 인터페이스를 구현하고 이벤트를 관리하는 프레임워크입니다. 많은 요소들이 있지만 그 중에서 사용자 인터페이스와 사용자 액션에 대해서 알아보겠습니다.

사용자 인터페이스

Views and Control 는 화면에 콘텐츠를 표시하는 것을 다룹니다.

View Controller 는 사용자 인터페이스를 관리합니다.

View Layout 은 뷰의 레이아웃을 관리합니다.

Appearance Customizaion 는 다크 모드를 추가하거나 그 외의 인터페이스를 변경할 수 있도록 합니다.

Animation and Haptics 는 애니메이션과 햅틱을 통한 피드백을 제공합니다.

Windows and Screens 는 뷰 계층을 위한 윈도우를 제공합니다.

사용자 액션

Touches, Presses, Gestures 는 제스처 인식기를 통해 이벤트를 다룹니다.

Drag and Drop 는 화면 위에서 드래그 앤 드롭 기능을 다룹니다.

Pencil Interactions 는 애플 펜슬의 더블 탭 이벤트를 다룹니다.

Focus-based Navigation 는 어플리케이션이 외부 컨트롤러를 사용할 때의 인터페이스를 다룹니다.

Menus and Shortcuts 는 메뉴, 퀵 액션, 단축키를 통해 사용자 액션을 단순하게 합니다.

Accessibilities 는 어플리케이션의 접근성을 다룹니다.

그 외의 UIKit 의 요소들을 알고 싶으시다면 Apple 개발자 문서 를 참조하시기 바랍니다.

Foundation Kit


Foundation Kit 은 Int, String 등의 데이터 타입 및 Array, Dictionary 등의 컬렉션 타입과 운영체제의 서비스를 이용해서 어플리케이션의 기본적인 기능을 관리하는 프레임워크입니다. 시간 계산이나 네트워킹 등의 기본 기능을 제공합니다.

기본 요소

Numbers, Data, and Basic Values 는 원시 데이터 타입들에 대해 다룹니다.

Strings and Text 는 문자열과 정규 표현식에 대해 다룹니다.

Collections 는 컬렉션 타입들에 대해 다룹니다.

Dates and Times 는 날짜와 시간에 대해 다룹니다.

Units and Measurement 는 물리적인 차원들을 표현하는 것에 대해 다룹니다.

Data Formatting 는 데이터들의 형변환에 대해 다룹니다.

Filters and Sorting 는 컬렉션 타입의 요소 검사와 정렬에 대해 다룹니다.

앱 지원

Task Management 는 어플리케이션이 핸즈오프나 단축키에 어떻게 반응할 지 관리합니다.

Resources 는 에셋과 번들들을 어플리케이션에 사용하도록 합니다.

Notifications 는 알림에 대한 디자인 패턴을 다룹니다.

App Extension Support 는 확장 어플리케이션에 대해 다룹니다.

Errors and Exceptions 는 에러가 발생할 수 있는 상황에 대응하는 방법에 대해 다룹니다.

Scripting Support 는 사용자가 어플리케이션 안에서 스크립트를 제어하거나 실행하는 것에 대해 다룹니다.

파일 및 데이터 관리

File System 는 파일 시스템에서 파일과 폴더를 관리합니다.

Archives and Serialization 는 속성 리스트나 JSON 또는 바이너리 파일들을 객체로 변환하거나 객체로부터 변환하는 것을 다룹니다.

Preferences 는 설정에 사용되는 정보를 영구적으로 저장하는 방법에 대해 다룹니다.

Spotlight 는 어플리케이션 검색을 위해 인덱싱하는 방법에 대해 다룹니다.

iCloud 는 iCloud 를 통해 데이터를 동기화하도록 관리합니다.

네트워킹

URL Loading System 는 표준 프로토콜들을 통해 URL 과 통신하는 방법에 대해 다룹니다.

Bonjour 는 로컬 네트워크를 통해 통신하는 방법에 대해 다룹니다.

이 외의 Founcation Kit 의 요소들에 대해서는 Apple 개발자 문서 를 참조하시기 바랍니다.


[다음 포스트]오토레이아웃이 무엇인지 알아보고 직접 코드 없이, 또는 코드를 사용해서 구현해보기


클릭하면 처음 포스트로 돌아갑니다.


boostcourseboosterxcode Share Tweet +1