我正在開發帶有最新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