티스토리 뷰
728x90
헤더파일의 저장소
───────────────
이것은 Foundation 프레임워크의 'Foundation.h'라는 헤더파일을 읽어 들이는 프리프로세서 지시문인데, 프레임워크와 헤더파일은 어디에 있는걸까요? 우선 프레임워크의 경우 Mac OS X에서는 시동 디스크의 [시스템] - [라이브러리] - [Frameworks] 폴더 아래에 프레임워크별 폴더로 나뉘어 저장되어 있습니다. Foundation 프레임워크의 경우는 [Foundation.framework] 폴더에 프레임워크 본체와 헤더 파일이 저장되어 있습니다.
Foundation 프레임워크의 헤더파일은 [Foundation.framework] 폴더의 [Headers] - 'Foundation.h'가 됩니다. 헤더 파일은 일반적인 텍스트 파일입니다. 더블클릭하면 초기상태에서는 Xcode가 열립니다.
Foundation.h의 내용을 열어보면 #import 문을 사용해 다양한 헤더 파일들을 임포트 하고 있는것을 확인할 수 있습니다. 이렇듯 Foundation 프레임워크는 다양한 클래스의 집합체입니다.
Foundation.h 의 내부
Cocoa 프레임워크의 헤더
또 다른 예로, Cocoa 프레임워크(Cocoa.Framework)의 헤더파일 Cocoa.h를 살펴 보겠습니다.
Cocoa.h 의 내부
Cocoa 프레임워크는 Foundation, AppKit, CoreData라는 3개의 프레임워크로 구성된다고 앞에서 설명했습니다. 그 헤더 파일인 Cocoa.h에서는 그 3개의 프레임워크의 헤더 파일을 #import 문으로 읽어오고 있음을 알 수 있습니다.
───────────────
#import <Foundation/Foundation.h>
이것은 Foundation 프레임워크의 'Foundation.h'라는 헤더파일을 읽어 들이는 프리프로세서 지시문인데, 프레임워크와 헤더파일은 어디에 있는걸까요? 우선 프레임워크의 경우 Mac OS X에서는 시동 디스크의 [시스템] - [라이브러리] - [Frameworks] 폴더 아래에 프레임워크별 폴더로 나뉘어 저장되어 있습니다. Foundation 프레임워크의 경우는 [Foundation.framework] 폴더에 프레임워크 본체와 헤더 파일이 저장되어 있습니다.
Foundation 프레임워크의 헤더파일은 [Foundation.framework] 폴더의 [Headers] - 'Foundation.h'가 됩니다. 헤더 파일은 일반적인 텍스트 파일입니다. 더블클릭하면 초기상태에서는 Xcode가 열립니다.
Foundation.h의 내용을 열어보면 #import 문을 사용해 다양한 헤더 파일들을 임포트 하고 있는것을 확인할 수 있습니다. 이렇듯 Foundation 프레임워크는 다양한 클래스의 집합체입니다.
Foundation.h 의 내부
/* Foundation.h
Copyright(c) 1994-2009, Apple Inc. All rights reserved.
*/
#include <CoreFoundation/CoreFoundation.h>
#import <Foundation/NSObjCRuntime.h>
#import <Foundation/NSArray.h>
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSBundle.h>
#import <Foudantion/NSByteOrder.h>
....
#include <CoreFoundation/CoreFoundation.h>
#import <Foundation/NSObjCRuntime.h>
#import <Foundation/NSArray.h>
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSBundle.h>
#import <Foudantion/NSByteOrder.h>
....
Cocoa 프레임워크의 헤더
또 다른 예로, Cocoa 프레임워크(Cocoa.Framework)의 헤더파일 Cocoa.h를 살펴 보겠습니다.
Cocoa.h 의 내부
/*
Cocoa.h
Cocoa Framework
Copyright (c) 2000-2004, Apple Computer, Inc.
All rights reserved.
This file should be included by alll Cocoa application source files for easy building. Using this file is preferred over importing individual files because it will use a precompiled version.
Tools with no UI and no AppKit dependencies may prefer to include just <Foundation/Foundation.h>.
*/
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
#import <CoreData/CoreData.h>
Cocoa.h
Cocoa Framework
Copyright (c) 2000-2004, Apple Computer, Inc.
All rights reserved.
This file should be included by alll Cocoa application source files for easy building. Using this file is preferred over importing individual files because it will use a precompiled version.
Tools with no UI and no AppKit dependencies may prefer to include just <Foundation/Foundation.h>.
*/
#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
#import <CoreData/CoreData.h>
Cocoa 프레임워크는 Foundation, AppKit, CoreData라는 3개의 프레임워크로 구성된다고 앞에서 설명했습니다. 그 헤더 파일인 Cocoa.h에서는 그 3개의 프레임워크의 헤더 파일을 #import 문으로 읽어오고 있음을 알 수 있습니다.
728x90
'헉!! > Objective C' 카테고리의 다른 글
[Objective-C] 메소드의 호출방법에 대하여 (3) | 2012.01.07 |
---|---|
[Objective-C] NSLog 함수 (0) | 2012.01.07 |
[Objective-C] main 함수 (0) | 2012.01.04 |
[Objective-C] 소스파일의 구조와 헤더파일 추가(import) (2) | 2012.01.03 |
[Objective-C] 가비지 컬섹션(Garbage Collection) (0) | 2012.01.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 오브젝티브 C
- 오브젝트 C
- MySQL
- iPhone
- jQuery
- Java
- Programming
- JSP
- oracle
- 아이폰 어플리케이션
- 오블완
- IT
- MAC OSX 10.7
- Objective-C
- tomcat
- 자바스크립트
- 아이폰
- iBATIS
- 제이쿼리
- zero
- SQL
- 아이폰 개발
- Spring
- Objective C
- iOS 개발
- Spring Framework
- 자바
- 티스토리챌린지
- Object C
- JavaScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함