본문 바로가기
iOS/설명

[iOS] 코코아 터치 프레임워크 (Cocoa Touch Framework)

by Sky Titan 2021. 4. 22.
728x90

※출처 - 꼼꼼한 재은씨의 Swift: 실전편

 

싸니까 믿으니까 인터파크도서

제대로 스위프트를 즐기는 방법 이 책은 전반적으로 하나의 메인 프로젝트를 완성해나가는 동시에 각 주제별로 소규모 앱을 만들면서 기능을 익히도록 구성되어 있습니다. 따라서 특정 주제나

book.interpark.com

코코아 터치 프레임워크 (Cocoa Touch Framework)

  • 아이폰, 아이패드, 애플워치 등 애플의 모바일 기기에서 구동되는 애플리케이션을 개발할 때 사용하는 통합 프레임워크
  • 모바일 기기에서 필요한 기능, 동작 구조, UI를 구성하는 기본적 객체들을 담고 있는 프레임워크
  • 앱은 직접 하드웨어의 모듈에 접근하는 것이 아니라 iOS 인터페이스를 이용하는데 코코아 터치 프레임워크가 iOS 인터페이스
  • 기존의 코코아 프레임워크에서 AppKit 프레임워크를 걷어내고 UIKit을 대신 추가

 

파운데이션 프레임워크 (Foundation Framework)

  • 애플리케이션의 중심이자 기능적인 면을 담당하는 프레임워크
  • 기본 자료형을 포함한 자료구조, 객체 지향 처리와 연산, 각종 구조체, 타이머, 네트워크 통신 등의 기능을 처리
  • 모바일 애플리케이션으로서의 특징적 기능에 직접 연관되지 않은 기능들을 처리
  • 이 프레임워크에 속한 객체들은 이름이 모두 NS라는 키워드로 시작
    • Swift에서는 NS 키워드가 걷혀짐

 

UIKit 프레임워크

  • 화면, UI, 앱의 동작 등 모바일 애플리케이션으로서의 기능 구현을 담당
  • 화면에 표현되는 콘텐츠, 컨트롤 객체를 보유
  • 화면의 구조 관리, 사용자와의 상호반응, 모바일 디바이스의 화면 변경에 따른 이슈까지 관여
  • 앱의 특성에 해당하는 기능들 처리
  • 핵심객체
    • 윈도우 (Window)
    • 뷰 (View)
    • 뷰 컨트롤러 (View Controller)

 

프레임워크의 계층 관계

  • 코코아 터치 프레임워크를 이루는 작은 단위의 프레임워크들은 계층 관계를 이룬다.
  • 상위 계층의 프레임워크일 수록 사용자에게 가깝고 구체적으로 구현되어 있음 (구체화 되어 있다)
    • 개발이 쉽다.
    • 하위 프레임워크에 의존적이다. (하위 프레임워크 + 구체적인 기능)
  • 하위 계층에 속한 프레임워크는 추상적이고 하드웨어 쪽에 가깝다.
    • 개발이 어렵지만 다양한 형태로 확장 가능

 

iOS에서의 프레임워크 계층 구조

iOS에서의 프레임워크 계층 구조

1. 코어 OS 계층

  • 커널, 파일 시스템, 네트워크, 보안, 전원 관리, 디바이스 드라이버 등 포함
  • 개념적으로 하드웨어와 연결
  • iOS가 운영 체제로서 기능을 하기 위한 핵심적인 영역

2. 코어 서비스 계층

  • 문자열 처리, 데이터 집합 관리, 네트워크, 주소록 관리, 환경 설정 등의 핵심적인 서비스들을 하는 프레임워크들이 속함
  • GPS, 나침반, 가속도 센서, 자이로스코프 센서 등의 하드웨어 특성에 기반한 서비스 제공
  • 종류
    1. Foundation Framework
    2. Core Foundation Framework
    3. Core Location
    4. Core Motion
    5. Core Animation
    6. Core Data

3. 미디어 계층

  • 코어 서비스 계층에 의존적
  • 코코어 터치 계층에 그래픽 관련 서비스, 멀티미디어 관련 서비스 제공
  • EX) mp4와 같은 비디오 파일을 재생할 때 관여
  • 종류
    1. Core Graphics
    2. Core Text
    3. Core Audio
    4. Core Animation
    5. AV Foundation

4. 코코아 터치 계층

  • 애플리케이션 프레임워크 계층
  • 애플리케이션을 직접 지원하는 역할
  • 애플리케이션과 연결
  • 종류
    1. UIKit Framework
    2. Game Kit
    3. Map Kit

728x90

'iOS > 설명' 카테고리의 다른 글

[iOS] 프로퍼티 리스트 (Property List)  (0) 2021.04.25
[iOS] UIControl  (0) 2021.04.25
[iOS] present로 화면 이동 시 full screen으로 이동  (0) 2021.02.03
[iOS] frame과 bounds의 차이  (0) 2021.01.21
[iOS] UIView의 clipToBounds  (0) 2021.01.21

댓글