Почему мой файл реализации c задачи не распознает мою инструкцию импорта - PullRequest
2 голосов
/ 21 июля 2009

Вот мой заголовочный файл

#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 ]

6 голосов
/ 21 июля 2009

Угловые скобки (<>) означают, что файл находится в стандартном пути включения, например / usr / include или / System / Library / Frameworks. Чтобы импортировать файл относительно текущего каталога, вам нужно использовать двойные кавычки, как в #import "Controller.h".

1 голос
/ 21 июля 2009

Файлы заголовков системы используют <>. Ваши заголовочные файлы должны использовать "".

Так и должно быть:

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

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

0 голосов
/ 16 сентября 2011

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

...