oc中枚举映射字符串技巧

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

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

typedef NS_ENUM(NSInteger, StatusType) {
    StatusTypeNormal = 0, // 正常
    StatusTypeConnecting = 1, // 连接中
    StatusTypeSuccess = 2, // 成功
    StatusTypeFail = 5 // 失败
};


const NSString *StatusTypeStringMap[] = {
    [StatusTypeNormal] = @"正常",
    [StatusTypeConnecting] = @"连接中",
    [StatusTypeSuccess] = @"成功",
    [StatusTypeFail] = @"失败"
};

  

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

StatusType type = StatusTypeFail;
NSLog(@"%@", StatusTypeStringMap[type]); //  NSLog: 失败

 

posted @ 2018-03-09 10:58  布尔-  阅读(4590)  评论(0编辑  收藏  举报