让枚举值与字符串一一对应

简介:

让枚举值与字符串一一对应

 

说明

统一管理字符串,可以用数值来代表字符串,其目的就是为了增加代码的可读性.

 

源码

https://github.com/YouXianMing/StringAndValue



//
//  StringAndValue.h
//  StringAndValue
//
//  Created by YouXianMing on 15/6/9.
//  Copyright (c) 2015年 YouXianMing. All rights reserved.
//

#import <Foundation/Foundation.h>

#define E_STRING(value)   [StringAndValue stringValueWithEStringAndValue:(value)]
#define E_VALUE(value)    [StringAndValue numberValueWithEStringAndValue:(value)]


typedef enum : NSUInteger {
    
    EUserSucess,
    EUserError,
    
} EStringAndValue;


@interface StringAndValue : NSObject

/**
 *  获取数值
 *
 *  @param value 枚举值
 *
 *  @return 数值
 */
+ (EStringAndValue)numberValueWithEStringAndValue:(EStringAndValue)value;

/**
 *  获取数值对应的字符串
 *
 *  @param value 枚举值
 *
 *  @return 字符串
 */
+ (NSString *)stringValueWithEStringAndValue:(EStringAndValue)value;

@end


//
//  StringAndValue.m
//  StringAndValue
//
//  Created by YouXianMing on 15/6/9.
//  Copyright (c) 2015年 YouXianMing. All rights reserved.
//

#import "StringAndValue.h"

static NSDictionary *_dataStringAndValue = nil;

@implementation StringAndValue

+ (void)initialize {
    
    if (self == [StringAndValue class]) {
        
        _dataStringAndValue = @{@(EUserSucess) : @"成功",
                                @(EUserError)  : @"失败",};
    }
}

+ (EStringAndValue)numberValueWithEStringAndValue:(EStringAndValue)value {

    return value;
}

+ (NSString *)stringValueWithEStringAndValue:(EStringAndValue)value {
    
    return _dataStringAndValue[@(value)];
}

@end


//
//  ViewController.m
//  StringAndValue
//
//  Created by YouXianMing on 15/6/9.
//  Copyright (c) 2015年 YouXianMing. All rights reserved.
//

#import "ViewController.h"
#import "StringAndValue.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    NSLog(@"%@", E_STRING(EUserError));
    NSLog(@"%lu", (unsigned long)EUserError);
}

@end

重要的地方


目录
相关文章
|
1月前
|
网络安全 Python
这个错误是由于在将字符串类型的值转换为字典类型时出现了问题
【2月更文挑战第20天】这个错误是由于在将字符串类型的值转换为字典类型时出现了问题
15 1
|
2月前
将整数转换为枚举
将整数转换为枚举。
16 2
|
4月前
对调 2个变量的值若干种方式
对调 2个变量的值若干种方式
12 0
|
8月前
对象的属性和值转换
对象的属性和值转换
25 0
|
8月前
|
存储 索引
数组与字符串的关系【了解一下】
数组与字符串的关系【了解一下】
94 0
比较任意类型是否相等!
比较任意类型是否相等!
58 0
C中取得数组的地址,赋值给数组结构的字段
C中取得数组的地址,赋值给数组结构的字段
64 0
判断Object中数据类型(已知类型、未知类型))
判断Object中数据类型(已知类型、未知类型))
108 0
类型和值
类型和值
53 0

热门文章

最新文章