【发布时间】:2011-12-07 04:32:47
【问题描述】:
我对以下关系有一些错误
我有 2 个班级,A 级和 B 级 在 A 类标头中,它将 #import "B.h" 在 B 类标头中,它将 #import "A.h"
我在编译过程中出错。有谁知道我该如何解决这个问题?
错误看起来像这样: 'GameUILayer' 之前的预期说明符限定符列表
【问题讨论】:
标签: objective-c
我对以下关系有一些错误
我有 2 个班级,A 级和 B 级 在 A 类标头中,它将 #import "B.h" 在 B 类标头中,它将 #import "A.h"
我在编译过程中出错。有谁知道我该如何解决这个问题?
错误看起来像这样: 'GameUILayer' 之前的预期说明符限定符列表
【问题讨论】:
标签: objective-c
不要在 .h 文件中导入标头,而是使用前向声明。所以不是
#import "ClassA.h"
你使用:
@class ClassA
等
然后在 .m 文件中使用 import 语句。
请参阅我的earlier answer 以获取文档链接。
【讨论】:
您正在创建循环依赖项。一个类应该导入另一个类。他们不能互相导入。如果您正在制作这样的交互类,则应该有一个依赖层次结构。 B 依赖于 A,A 至少依赖于根类 NSObject。如果你让两个类相互依赖,编译器要么对你大喊大叫,要么试图编译它并最终在圈子里跑来跑去。大多数编译器旨在对您大喊大叫。
【讨论】: