现在有一个场景,在固定的两个或者两个以上字符串之间进行选择,第一反应是用枚举,但是枚举返回的通常是整数,所以解决方案是在.m文件中自定义一个全局字符串变量,用switch case方法,根据枚举返回不同的字符串,实现的方法如下
NSString * NSStringFromCardType(CardType cardType) { //实际上这是一个C语言风格函数 传入枚举参数,返回字符串
switch (cardType) {
case CardTypeLoanCard:
return @"abc";
break;
case CardTypeDebitCard:
return @"def";
break;
default:
return nil;
break;
}
}
这是最核心的方法,当这个字符串需要被其他类引用的时候,在头文件中用extern修饰一下
extern NSString * NSStringFromCardType(CardType cardType);
最后是枚举的实现方法
typedef NS_ENUM(NSInteger,CardType){
CardTypeLoanCard = 1,
CardTypeDebitCard = 2
};