编译错误#import

时间:2011-12-07 04:32:47

标签: objective-c

我在以下关系中遇到了一些错误

我有2个班,A班和B班 在A类标题中,它将#import" B.h" 在B类标题中,它将#import" A.h"

我在编译期间遇到错误。任何人都知道如何解决这个问题?

错误看起来像这样: 在GameUILayer'

之前的预期说明符 - 限定符列表

2 个答案:

答案 0 :(得分:1)

使用前向声明,而不是导入.h文件中的标头。而不是

#import "ClassA.h"

你使用:

@class ClassA

然后在.m文件中使用import语句。

请参阅我的earlier answer以获取文档的链接。

答案 1 :(得分:1)

您正在创建循环依赖项。一个类应该导入另一个类。他们不能互相导入。如果您正在制作这样的交互类,那么应该存在依赖的层次结构。 B依赖于A,A至少取决于根类NSObject。如果你使两个类彼此依赖,编译器可以对你大喊大叫或者尝试编译它并最终绕圈运行。大多数编译器都是为了对你大喊大叫。