2012-12-05 38 views
2

我有两个可可触摸类(objective-c)。并且两个#import彼此的头。循环头导入,枚举无法识别

A类的头文件定义了一个枚举类,该类的B头试图使用。由于未识别类型,B类无法编译。

我认为这是一个循环依赖问题,但我认为@class不会有太大的帮助,因为问题是与枚举。

你有什么建议?

+0

Class A标题在Class B标题中使用了什么? – Daniel

+0

现在,只是班级名称。但是(除非我的设计证明不可行),它最终将使用它的属性和方法。 但是,反过来不是真的,B类可以不使用除A类的枚举类型之外的任何东西。也许我可以将枚举移动到“Common.h”头部。 –

+0

是的,enum的“Common.h”听起来像是一个很好的计划。 – Daniel

回答

5

把枚举放在它自己的头文件中,并用@class在每个其他头文件中声明所需的类,所以A不需要导入B和B不需要导入A,但是会导入enum头文件。

0

在头文件中使用@class ClassName; 并在.m文件中使用导入。

+1

仍然不会编译;该类型在B类中仍然未被识别。 –