在Objective-C中使用枚举?

fuz*_*oat 13 c enums objective-c ios

这是在Objective-C中使用emum的正确(甚至是有效的方法)吗?即,未使用menuItem,只是定义了一个列表add = 1,load = 2,list = 3等.

enum menuItems {
    add = 1    ,
    save       ,
    load       ,
    list       ,
    removeAll  ,
    remove     ,
    quit       
};

int optionSelect;

scanf("%d", &optionSelect);

switch (optionSelect) {
    case add: 
        //...
        break;
}
Run Code Online (Sandbox Code Playgroud)

欢呼加里

Bit*_*ink 17

如果要为枚举赋予语义含义,可以考虑定义自定义类型并将变量"optionSelect"声明为该类型的变量!在代码中......

typedef enum menuItems {
       add = 1,
       save,
       load,
       list,
       removeAll,
       remove,
       quit} MenuItem;


MenuItem optionSelect;

scanf("%d", &optionSelect);

switch (optionSelect) {
    case add: 
    ...
    break;
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

也就是说,几乎和你编写的一样,但是从开发人员那里你给变量"optionSelect"赋予了特定的含义,而不仅仅是一个简单的int!