Я подозреваю, что у вас есть цикл импорта, например:
Expression.h
#import "Term.h"
@interface Expression : NSObject
...
Term.h
#import "Expression.h"
@interface Term : NSObject
...
Обратите внимание, как каждый файл импортируетДругой?Это не сработает.Вместо этого вам нужно использовать предварительные объявления:
Expression.h
@class Term; // tell the compiler that Term is a class name
@interface Expression : NSObject
...
Term.h
@class Expression; // tell the compiler that Expression is a class name
@interface Term : NSObject
...
Затем в ваших .m
файлах вы можетебезопасно импортировать оба .h
файла:
Expression.m
#import "Expression.h"
#import "Term.h"
@implementation Expression
...
Term.m
#import "Term.h"
#import "Expression.h"
@implementation Term
...