我正在开发带有最新SDK的iOS应用程序。如何在Objective-C中迭代throw typedef枚举?
我有这样的枚举:
typedef enum BoxTypeValues {
Speed,
FPS,
Altitude,
Location,
Accuracy
} BoxType;
我想扔迭代其所有值,并将其转换为NSString
。
我做这种方式,但它是非常硬编码:
+ (NSArray*)BoxTypeValues
{
return [NSArray arrayWithObjects:@"Speed", @"FPS", @"Altitude", @"Location",
@"Accuracy", nil];
}
+ (NSString*)BoxTypeToString:(BoxType)aType
{
NSString* result = nil;
switch (aType)
{
case Speed:
result = @"Speed";
break;
case FPS:
result = @"FPS";
break;
case Altitude:
result = @"Altitude";
break;
case Location:
result = @"Location";
break;
case Accuracy:
result = @"Accuracy";
break;
default:
break;
}
return result;
}
有什么建议?
你逝去的同名并将其存储在字符串?有什么需要这样做? – 2013-04-04 10:03:40
对不起,但我不明白你的问题。 – VansFannel 2013-04-04 10:07:19
您正在切换FPS并返回FPS ,,,,,所以不需要使用开关盒,只需返回字符串即可。不是吗? – 2013-04-04 10:10:00