infatuation

Objective C 본문

Programming/Objective-C

Objective C

화령 2010. 8. 16. 14:31

 


#import
Objective C도 C처럼 구조체, 함수 원형, 상수와 같은 요소에 대한 선언을 담고 있는 헤더파일을 사용
C에서는 #include 를 사용하지만 Objective C에서는 #import 사용

#import <Foundation/Foundation.h>
   >> 컴파일러에게 Foundation Framework에서 Foundation.h 헤더파일을 찾아보라고 알려주는 역할
   /System/Library/Framework/Foundation.framework/Headers/

Framework
헤더파일, 라이브러리, 이미지, 사운드 등이 모여서 하나의 단위로 묶여있는 컬렉션이다.
애플은 코코아, Carbon, QuickTime, OpenGL 등의 기술을 Framework로 배포한다.
  • 코코아 : Foundation 과 Application Kit(AppKit)의 두 Framework로 구성
  • Foundation Framework : 자료구조와 통신 메커니즘과 같이 사용자 인터페이스의 하위에 있는 내용을 다룸

NSLog (@"Hello, Objective-C!");
- 이 함수는 Hello, Objective-C 를 콘솔에 출력한다.

NS >> NextSTEP 이라고 불리며 NeXT Sofrware의 제품이었던 툴킷에 이미 작성된 코드와 호환을 유지 하기 위해
          애플은 NS 접두사를 쓰고 있음.

- @ 골뱅이는 Objective-C의 특징 중 하나로 큰 따옴표 안의 문자열을 코코아 NSString의 요소로 처리해야 한다는 의미
- NSString의 기능
  • 문자열의 길이를 알려줌
  • 다른 문자열과의 비교
  • 정수 또는 실수로의 값 변환

Objective-C에서 BOOL은 실제로 8비트의 저장 공간을 갖는 문자(signed char) 타입을 단지 형 정의(typedef)한 것이다.
YES는 1로 정의되어 있고 NO는 0으로 정의되어 있다.(#define 사용).
Objective-C는 BOOL을 YES나 NO의 값만을 담을 수 있는 진정한 불리언 타입으로 여기지 않는다.
컴파일러는 BOOL을 8비트 숫자로 인식하고 YES와 NO의 값은 단지 관습니다. 이는 미묘한 결과를 낳는다.
만일 무심코 1바이트보다 큰 값의 정수(예를 들어 short나 int 값 등)를 BOOL 변수에 넣는다면, BOOL 변수의 값에서 하위 바이트만 사용한다. 하위 바이트가 0인 경우(예를 들어 8960, 16진수로 0x2300 등) BOOL 값은 0, 즉 NO값이 된다.



'Programming > Objective-C' 카테고리의 다른 글

Objective-C타입과 상수  (0) 2010.11.18