2009-07-21 3 views
2

Вот мой файл заголовкаПочему не моя цель файла реализации с распознает оператор импорта

#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 файлы находятся в том же проекте и в том же каталоге, что и класс контроллера.

+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" 

И вы можете использовать @class PolygonShape в файле заголовка и сделать импорт в вашей реализации.

0

При импорте класса А в Б, а затем класса импорта B в A, вы получите эту ошибку