后台返枚举数据给app,app需要对不同枚举转换成字符串显示。

  一般想到方法用 switch 根据不同枚举变量返回不同字符串,结果就是判断代码写得很长,不优雅。更简便方式有如下:

typedef NS_ENUM(NSInteger, StatusType) {
StatusTypeNormal = , // 正常
StatusTypeConnecting = , // 连接中
StatusTypeSuccess = , // 成功
StatusTypeFail = // 失败
}; const NSString *StatusTypeStringMap[] = {
[StatusTypeNormal] = @"正常",
[StatusTypeConnecting] = @"连接中",
[StatusTypeSuccess] = @"成功",
[StatusTypeFail] = @"失败"
};

  

  使用的时候直接这样调用:

StatusType type = StatusTypeFail;
NSLog(@"%@", StatusTypeStringMap[type]); // NSLog: 失败
05-28 18:40