2012-05-09 46 views
0

我有一个名为枚举可可枚举变量名的NSString

enum{ 
    MyErrorCodeOne   = 1 
    MyErrorCodeTwo   = 2 
}MyErrorCodes; 

有,当我遇到2实例的方式,我的NSLog“MyErroCodeOne”为反对2.用户switch语句不因为我目前有大约50个错误代码。任何帮助,将不胜感激。

+0

可能的重复[如何将枚举名称转换为C中的字符串](http://stackoverflow.com/questions/9907160/how-to-convert-enum-names-to-string-in-c) – Joe

+0

This是我想要避免的,不得不做一个50+元素的列表。有没有办法将一个变量名作为字符串传递。 –

+0

更多示例[从C枚举中打印文本而不是值](http://stackoverflow.com/questions/3168306/print-text-instead-of-value-from-c-enum),[如何轻松映射C++枚举到字符串](http://stackoverflow.com/questions/207976/how-to-easily-map-c-enums-to-strings),[简单的方法来使用枚举类型的变量作为C中的字符串?](http ://stackoverflow.com/questions/147267/easy-way-to-use-variables-of-enum-types-as-string-in-c)。记住Objective-C是C的超集 – Joe

回答

0

的评论的反应是良好的,但你也只是还全局定义的数组,说喜欢错误的名称,以便:

的NSArray * errorNames = [NSArray的arrayWithObjects:@ “MyErrorCodeOne”,@ “MyErrorCodeTwo”,零]。

并通过[errorNames objectAtIndex:MyErrorCodeOne]引​​用它;

只有这对你更容易。在我看来,第一反应将是最好的。