objective-c - 初始化枚举值时出错

标签 objective-c enums

下面是我在 Ball 类的头文件中创建的枚举:

typedef enum   {
redBall = 0,
blueBall = 1,
greenBall = 2

}ballTypes;

在界面中:

ballTypes ballType;

在Ball.mm的init方法中我初始化了ballType如下:

ballType = 0;

我收到以下错误:

Assigning to 'ballTypes' from incompatible type 'int'

我该如何解决这个问题?

最佳答案

枚举应该用 NS_ENUM 宏定义:

typedef NS_ENUM(NSInteger, BallType) {
    BallTypeNone  = 0,
    BallTypeRed   = 1,
    BallTypeBlue  = 2,
    BallTypeGreen = 3
};

BallType ballType;

ballType = BallTypeNone;

通常,名称以大写字母开头,每个值都是附加了有意义描述的名称。

关于objective-c - 初始化枚举值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16943556/

相关文章:

ios - 在 uiviewcontroller iOS 中导航

ios - 使用 UIGestureRecognizer 同时缩放、旋转和移动

ios - UITextField 应该只接受正整数并给出休息的警告消息

ios - Swift Enum design issues : 1. multiple cases having same value, 2.返回自定义枚举值

java - 枚举中的继承

java - 枚举是 Roguelike 游戏中生成生物的正确工具吗?

C switch 语句和枚举显式转换

objective-c - 为属性创建我自己的 setter 时无限递归

ios - 为 iOS 和 Mac OS X 编写应用程序的最佳 C 类型策略

java - Java 编译器是否删除了检查枚举常量的无法访问的 if 语句?