1

我已经定义了这样的枚举:

typedef enum{
    apple,
    banana
}Fruits;

我想创建一个像这样返回这个枚举的方法:

-(Fruits)getFruits;

但是当我像这样使用它时,我得到了一个错误:Objective-C 消息的结果类型不完整'enum Fruits'。

任何人?

4

2 回答 2

10

听起来您还没有导入包含enum定义的文件。

顺便说一句,Apple 提供了一个宏来帮助定义枚举并帮助完成代码。例子:

typedef NS_ENUM(NSInteger, Fruits) {
    Fruits_Apple,
    Fruits_Banana,
    Anything_you_want
};
于 2013-07-27T20:18:12.193 回答
8

您创建枚举的方式也可能有效,我没有尝试过,但我总是这样创建我的枚举:

enum Fruits
{
    apple,
    banana,
    peach,
    pear
};

创建函数时,返回值必须是enum Fruits,而不仅仅是Fruits

-(enum Fruits) getFruits;

还要确保#import包含枚举定义的文件。例如,如果您有一个名为ApplicationEnums.h枚举定义的文件,则将以下行添加到包含该getFruits函数的文件的顶部:

#import "ApplicationEnums.h"
于 2013-07-27T21:32:28.900 回答