Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 循环标头导入,枚举无法识别_Objective C_Cocoa Touch - Fatal编程技术网

Objective c 循环标头导入,枚举无法识别

Objective c 循环标头导入,枚举无法识别,objective-c,cocoa-touch,Objective C,Cocoa Touch,我有两门可可触摸课(objective-c)。并且两者都导入彼此的头 类A的头定义了一个枚举,类B的头正试图使用该枚举。由于无法识别类型,类B无法编译 我认为这是一个循环依赖性问题,但我认为@class不会有太大帮助,因为这个问题与枚举有关 你有什么建议?在头文件中使用@class ClassName 在.m文件中使用导入。将枚举放在它自己的头中,并在每个其他头中使用@class where needed向前声明类,以便A不需要导入B,B不需要导入A,而是导入枚举头。类A头从类B头中使用了什么?

我有两门可可触摸课(objective-c)。并且两者都导入彼此的头

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

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


你有什么建议?

在头文件中使用
@class ClassName

在.m文件中使用导入。

将枚举放在它自己的头中,并在每个其他头中使用@class where needed向前声明类,以便A不需要导入B,B不需要导入A,而是导入枚举头。

类A头从类B头中使用了什么?现在,只需要类名。但是(除非我的设计证明不可行),它最终会使用它的属性和方法。相反的情况并非如此,类B可以不使用类A中的枚举类型之外的任何东西。也许我可以将枚举移动到“Common.h”头中。是的,枚举的“Common.h”听起来是个不错的计划。仍然不会编译;该类型在B类中仍然无法识别。