在OC中switch case的变量类型只能是基础类型(int, byte,char, short),如果是字符串怎么办呢?
<b>第一种情况:该字符串是数字字符串,那么很简单,将字符串转化为int(基础类型)。</b>
int a = [newString intValue];
<b>第二种情况:该字符串不是数字字符串。可以将字符串按照顺序放到一个数组中,将数组的下标作为switch case的变量。</b>
<pre>//把用到的字符串参数放到一个数组里
NSArray *Name = [NSArray arrayWithObjects:@"aaa",@"bbb",@"ccc",@"ddd",@"eee",@"fff",nil];
//比如我们要把@"eee"作为switch的参数,则取到它在数组中的下标,然后在switch中根据下标来进行处理。
int index = [Name indexOfObject:@"eee"];
switch(index)
{
case 0: //xxxxx; break;
case 1: //xxxxx; break;
case 2: //xxxxx; break;
case 3: //xxxxx; break;
case 4: //这里就是eee的代码处理部分; break;
case 5: //xxxxx; break;
....
}
</pre>