2009-07-21 4 views
2

여기에 내 헤더 파일입니다객관적인 c 구현 파일이 내 import 문을 인식하지 못하는 이유는 무엇입니까?

#import <UIKit/UIKit.h> 
#import <Foundation/Foundation.h> 
#import <PolygonShape.h> 

@interface Controller : NSObject { 
    IBOutlet UIButton *decreaseButton; 
    IBOutlet UIButton *increaseButton; 
    IBOutlet UILabel *numberOfSidesLabel; 
    //IBOutlet PolygonShape *shape; 
} 
- (IBAction)decrease; 
- (IBAction)increase; 
@end 

여기 내 구현 파일입니다

#import "Controller.h" 

@implementation Controller 
- (IBAction)decrease { 
    //shape.numberOfSides -= 1; 
} 

- (IBAction)increase { 
    //shape.numberOfSides += 1; 
} 
@end 

왜 내 #import "Controller.h" 줄에 다음 오류가 발생합니까?

error: PolygonShape.h: No such file or directory 

PolygonShape.h 및 .m 파일은 동일한 프로젝트에 있고 Controller 클래스와 동일한 디렉토리에 있습니다.

+0

당신이 PolygonShape 파일이 대상에 추가되어 있는지 확인 했습니까이 오류를받을 수 있습니까? – teabot

답변

6

꺾쇠 괄호 (<>)는 파일이/usr/include 또는/System/Library/Frameworks와 같은 표준 포함 경로에 있음을 의미합니다. 현재 디렉토리를 기준으로 파일을 가져 오려면 #import "Controller.h"에서와 같이 큰 따옴표를 사용해야합니다.

+0

나도 그래,하지만 난 그냥 로컬 파일에 꺾쇠 괄호로 시도하고 잘 작동하는 것 같았다. – teabot

+0

고마워, 그랬어. – Jason

1

시스템 헤더 파일은 <>을 사용합니다. 헤더 파일은 ""을 사용해야합니다.

#import <UIKit/UIKit.h> 
#import <Foundation/Foundation.h> 
#import "PolygonShape.h" 

그리고 당신은 당신의 헤더 파일에 PolygonShape @class 사용하려는 구현에 가져 오기를 할 수 있습니다

은 그래서해야한다.

0

는 클래스 A가에 다음 B 및 가져 오기 클래스 B에 가져올 경우