如何在Objective-C中实现Enum myEnum = Enum.FirstValue

时间:2012-12-27 19:54:57

标签: objective-c syntax enums

在C#中我可以使用这样的枚举:

enum TrafficLight{Red,Yellow,Green};
.......
TrafficLight light=TrafficLight.Yellow;

在Objective-C中我写道:

    typedef enum trafficLight{
    Red,
    Yellow,
    Green
}TrafficLight; 

但是如果我想将TrafficLight的变量分配给TrafficLight.Yellow,那是不可能的。我只能写

TrafficLight light=Yellow;

是否可以在Objective-C中使用点符号访问枚举中的常量?

1 个答案:

答案 0 :(得分:3)

通常的做法如下

enum {
    TrafficLightColorRed,
    TrafficLightColorYellow,
    TrafficLightColorGreen
};
typedef NSInteger TrafficLightColor;


TrafficLightColor color = TrafficLightColorYellow;

这样参数的类型是其枚举元素的开头

抱歉,我无法得到你想要的结果,但就我所见,这是标准做法。