【问题标题】:return enum from method in objective c从目标c中的方法返回枚举
【发布时间】:2013-07-27 20:01:31
【问题描述】:

我的枚举定义如下:

typedef enum{
    apple,
    banana
}Fruits;

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

-(Fruits)getFruits;

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

有人吗?

【问题讨论】:

  • 导入包含枚举定义的文件。

标签: ios objective-c enums


【解决方案1】:

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

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

typedef NS_ENUM(NSInteger, Fruits) {
    Fruits_Apple,
    Fruits_Banana,
    Anything_you_want
};

【讨论】:

    【解决方案2】:

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

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

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

    -(enum Fruits) getFruits;
    

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

    #import "ApplicationEnums.h"
    

    【讨论】:

    • 2014 年更新。现在首选的方法是使用 NS_ENUM 宏(请参阅 Robotic Cat 的回答)
    猜你喜欢
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多