我在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

+ (NSArray *)allServersForType:(ServerType)serverType;

来自评论的更新:

将枚举的声明添加到声明此allServersForType:方法的类的.h文件中。

关于ios - 如何使用ENUM作为方法的参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23922326/

10-09 13:29