OC中switch使用字符串作为参数

实际上,object-c中switch的参数只能是int,byte,char,short的类型。那么我们如何使用字符串作为参数呢?

一.字符串为数字字符串:如"1"、"2"
现将数字字符串转化为 数字类型:

NSString *tempA = @"123";
NSString *tempB = @"456";

1,字符串拼接
NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB];

2,字符转int
int intString = [newString intValue];

3int转字符
NSString *stringInt = [NSString stringWithFormat:@"%d",intString];

4,字符转float
float floatString = [newString floatValue];

5float转字符
NSString *stringFloat = [NSString stringWithFormat:@"%f",intString];

二.字符串不是数字字符串:

//把用到的字符串参数放到一个数组里
NSArray *aName = [NSArray arrayWithObjects:@"lee",@"tom",@"vivid",@"liming",@"stormer",@"jun",nil];

//比如我们要把@"stormer"作为switch的参数,则取到它在数组中的下标,然后在switch中根据下标来进行处理。
int index = [aName  indexOfObject:@"stormer"];
switch(index)
{
case 0: //xxxxx; break;
case 1: //xxxxx; break;
case 2: //xxxxx; break;
case 3: //xxxxx; break;
case 4: //这里就是stormer的代码处理部分; break;
case 5: //xxxxx; break;
....
}

你可能感兴趣的:(Object-C学习)