ProgrammingInObjectiveC:Chapter 14
- 2부 Foundation 프레임워크 / 14장
- Foundation 프레임워크 소개
14장 :: Foundation 프레임워크 소개
프레임워크는 프로그램을 쉽게 개발하도록 논리적으로 묶어 놓은 클래스, 메서드, 함수, 문서의 모음이다. Mac OS X 에서는 프레임워크가 80 개 이상 제공된다. 프레임워크들을 사용하면 맥의 주소록(Address Book), CD 굽기, DVD 재생하기, 퀵타임 (QuickTime)으로 동영상 재생하기, 음악 재생하기 같은 기능을 손쉽게 다룰 수 있다.
그중 프로그램개발의 기본 혹은 기초를 제공하는 프레임워크가 바로 Foundation 프레임워크다. 2부의 주제 Foundation 프레임워크는 숫자나 스트링 같은 기본 객체, 객체의 컬렉션인 배열, 딕셔너리, 세트 등을 사용하게끔 해준다. 또 이 프레임워크를 통해 날짜와 시간을 다루거나, 자동 메모리 관리 기능과 하부 파일시스템을 사용하고, 객체를 저장(아카이빙)하며, 사각형 같은 기하학 데이터 구조를 다룰 수 있다.
Application Kit 프레임워크는 인터랙티브 그래픽 응용 프로그램을 개발하는 데 쓰는 방대한 양의 클래스와 메서드 모음을 담고 있다. 이것들을 사용해서 텍스트, 메뉴, 툴 바, 표, 문서, 페이스트보드(pasteboard), 창을 쉽게 다룰 수 있다. Mac OS X 에서 '코코아 란, Foundation 프레임워크와 Application Kit 프레임워크를 통칭하는 용어다. '코코아 터치'는 Foundation 프레임워크와 UIKit 프레임워크를 통칭하는 용어다. 3부 「코코아와 아이폰 SDK」 에서는 이 주제에 대해 상세히 설명한다. 또한 부록 D 「참고자료」에서 많은 자료를 찾을수 있다.
Foundation 문서
먼저 이따금씩 참조할 때를 위해 Foundation 헤더파일들이 시스템의 어디에 저장되어 있는지를 알아두자. Foundation 헤더파일들은다음 디렉터리에 저장되어 있다.
- /System/Library/Frameworks/Foundation.framework/Headers
헤더파일들은 사실 이 디렉터리가 아닌 자신이 저장된 다른 디렉터리로 '링크' 되어 있다. 그러나 우리가 사용할 때는 별다른 차이가 없다. |
이 디렉터리에 들어가서 거기에 있는 파일들에 친숙해지자. 시스템에 저장된 Foundation 프레임워크 문서도 활용하자(/Developer/Documentation 디렉터리 에 깊이 숨겨져 있다). 이 문서는 애플 웹사이트에서도 볼 수 있다. 문서들은 대개 브라우저로 볼 수 있는 HIML 파일이나 Acrobat pdf 파일이다. 이 문서에는 모든 Foundation 클래스와, 구현된 메서드, 함수에 대한 설명이 있다.
만일 Xcode를 사용하여 프로그램을 개발한다면, Xcode 의 Help 메뉴에서 문서창을 띄워 쉽게 참조할 수 있다. 이 창을 이용해 컴퓨터에 저장된 문서나 온라인문서를 쉽게 검색하고 접근한다. 그림 14.1은 Xcooe 문서 창에서 'foundation framework'을 검색한 결과다. 'Foundation Frarnework Reference' 라는 제목 부분에서 Foundation 에 있는 모든 클래스의 문서에 쉽게 접근할수 있다.
만일 Xcode 에서 파일을 편집하다가 특정 헤더파일, 메서드, 클래스에 대한 문서를 곧바로 보고 싶다면 편집 창에서 텍스트를 선택한 뒤, 마우스 오른쪽 버튼을 클릭하면 된다. 메뉴에서 경우에 따라 Find Selected Text in Docurnentation 이나 Find Selected Text in API Reference 를 적절히 선택하면 된다 Xcooe 는 문서 라이브러리를 검색하여 올바른 결과를 표시해 줄 것이다.
문서가 어떻게 검색되는지 한번 알아보자. NSString 은 스트링을 다룰 때 쓰는 Foundation 클래스다(다음 장에서 매우 상세히 설명할 것이다). 이 클래스를 사용하는 프로그램을 편집하고 있는데, 이 클래스와 메서드에 대한 정보가 더 필요하다고 가정해 보자. 편집 창의 어디서든 NSString 을 선택하고 마우스 오른쪽 버튼을 클릭한다. 그러면 메뉴가 뜨는데 , 거기서 Find Selected Text in API Reference를 누르면 그림 14.2와 비슷한 문서 창이 뜰 것이다.
NSString class Reference 라고 된 부분에서 스크롤을 내리면 (여러 다른 내용과 함께) 이 클래스가 지원하는 메서드의 전체 목록을 찾을 수 있다. 이렇게 문서를 훝어 보면 클래스가 구현하는 메서드가 어떻게 동착하는지, 인수는 어떻게 받는지 등 메서드에 대한 정보를 매우 쉽게 알아낼 수 있다.
또한 http://developer.apple.com/referencelibrary 에서 Foundation reference docurnentation 을 찾아 들어가면 온라인에서도 문서를 볼 수 있다(먼저 Cocoa 를 선택하고, 거기서 Framework을, 그리고 그 안에서 Foundation Framework Reference 링크를 누르면 된다). 이 웹사이트에서는 메모리 관리, 스트링, 파일 관리 같이 특정 프로그램 이슈를 다루는 다양한 문서들도 제공한다.
만일 Xcode 로 특정 문서 모음을 구독하지 않는다면, 온라인 문서가 하드디스크 에 저장된 문서보다 더 최신 정보를 담고 있을 것이다.
이것으로 Foundation 프레임워크에 대한 소개를 간단히 마치겠다. 이제,프레임워크에 들어 있는 몇몇 클래스에 대해 알아보고 응용 프로그램에서 어떻게 사용할지 배워보자.