【发布时间】:2014-05-28 21:39:45
【问题描述】:
我在 Prefix.pch 文件中定义了一个这样的类型。
typedef NS_ENUM(NSUInteger, ServerType) {
ServerType0 = 0,
ServerType1,
ServerTypeCount
};
我有一个这样的方法声明:
+ (NSArray *)allServersForType:(enum ServerType)serverType;
但我收到警告
“'enum ServerType' 的声明在此函数之外将不可见”
当我尝试像这样通过它时更糟:
NSArray *servers = [Server allServersForType:ServerTypeCount];
我收到一个错误“参数类型'enum ServerType'不完整”
我做错了什么?
提前致谢。
罗伯
【问题讨论】:
-
去掉参数类型中的
enum。 -
作为测试,将枚举声明移动到它自己的 .h 文件中,并将该 .h 文件导入到您需要的任何类中。
-
这行得通,但我不明白为什么将它包含在我的 Prefix.pch 文件中不会。
-
现在尝试在您的 .pch 文件中导入这个新的 .h 文件。
-
是的,这也有效。为什么不直接呢?
标签: ios objective-c enums