我有一个声明如下的枚举:
typedef enum MODE {
FRAMED, HALFPAGED, FULLPAGED
} MODE;
有什么方法可以将 FRAMED/HALFPAGED/FULLPAGED 转换为字符串。
我知道 C++ 有能力通过使用:
static String^ GetName(
Type^ enumType,
Object^ value
)
Objective-C 是否有等价物?
我有一个声明如下的枚举:
typedef enum MODE {
FRAMED, HALFPAGED, FULLPAGED
} MODE;
有什么方法可以将 FRAMED/HALFPAGED/FULLPAGED 转换为字符串。
我知道 C++ 有能力通过使用:
static String^ GetName(
Type^ enumType,
Object^ value
)
Objective-C 是否有等价物?
您可以实现这样的方法:
- (NSString*)modeToString:(MODE)mode{
NSString *result = nil;
switch(mode) {
case FRAMED:
result = @"FRAMED";
break;
case HALFPAGED:
result = @"HALFPAGED";
break;
case FULLPAGED:
result = @"FULLPAGED";
break;
default:
[NSException raise:NSGenericException format:@"Unexpected MODE."];
}
return result;
}
据我所知,没有内置的方法可以满足您的要求。
我的方法是这样的:
- (NSString *)modeString:(MODE)mode
{
if(mode == FRAMED)
{
return @"FRAMED";
}
else if(mode == HALFPAGED)
{
return @"HALFPAGED";
}
return @"FULLPAGED";
}