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

如何在Objective-C中实现Enum myEnum=Enum.FirstValue,objective-c,syntax,enums,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,这是不可能的

在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中使用点符号访问枚举中的常量吗?

常用做法如下

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


TrafficLightColor color = TrafficLightColorYellow;
这样,参数的类型就是其枚举元素的开头


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

常见做法如下

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


TrafficLightColor color = TrafficLightColorYellow;
这样,参数的类型就是其枚举元素的开头


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

来吧,body,如果这是Objective-C提供的,您能做什么?好的。你可以用C来代替。或者C++通过改变扩展到.mm,除此之外,你在客观的世界里。不是C#的世界;我感觉到你的痛苦。我也是Objective C的C#开发者。我很早就知道,无论你使用哪种语言,你都应该遵守这些规范和标准,而不是试图将你在其他地方使用的标准转换成它。拜托,body,如果Objective-C就是这样提供的,你能做什么呢?好吧。你可以用C来代替。或者C++通过改变扩展到.mm,除此之外,你在客观的世界里。不是C#的世界;我感觉到你的痛苦。我也是Objective C的C#开发者。我很早就了解到,无论您使用哪种语言,您都应该遵守这些规范和标准,而不是试图将您在其他地方使用的标准转换到其中。