为什么我的目标c实现文件不能识别我的import语句

时间:2009-07-21 17:56:41

标签: iphone objective-c import cs193p

这是我的头文件

#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类位于同一个项目中,并且位于同一目录中。

3 个答案:

答案 0 :(得分:6)

角度括号(<>)表示文件位于标准包含路径中,例如/ usr / include或/ System / Library / Frameworks。要导入相对于当前目录的文件,您需要像#import "Controller.h"中那样使用双引号。

答案 1 :(得分:1)

系统标头文件使用&lt;&gt ;.您的头文件应使用“”。

所以它应该是:

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

您可能希望在头文件中使用@class PolygonShape并在实现中执行导入。

答案 2 :(得分:0)

如果您在B中导入A类,然后在A中导入B类,则会出现此错误