iOS switch的参数怎么使用NSString
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS switch的参数怎么使用NSString相关的知识,希望对你有一定的参考价值。
实际上,object-c中switch的参数只能是int,byte,char,short的类型。然而,经常要使用到NSString来作为参数,在这里举例说明一种间接实现的方法。这个方法一眼看上去好像不灵活限制了NSString参数的个数,但话说回来,既然用到了switch...case那么,所要传入的参数应该是有限和已知的。
//把用到的字符串参数放到一个数组里
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;
....
参考技术A iOS swift的参数里使用NSString的方法如下:
//把用到的字符串参数放到一个数组里
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;
....
参考技术B 实际上,object-c中switch的参数只能是int,byte,char,short的类型。
然而,我们经常要使用到NSString来作为参数,我在这里举例说明一种间接实现的方法。这个方法一眼看上去好像不灵活限制了NSString参数的个数,但话说回来,既然用到了switch...case那么,所要传入的参数应该是有限和已知的。
//把用到的字符串参数放到一个数组里
NSArray *aName = [NSArray arrayWithObjects:@"lee",@"tom",@"vivid",@"liming",@"stormer",@"jun",nil];
//比如我们要把@"stormer"作为switch的参数,则取到它在数组中的下标,然后在switch中根据下标来进行处理。
int index = [aName indexOfObject:@"stormer"];
--------
int index = [diindexOfObject: inputValue];
--------
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;
....
http://blog.csdn.net/wide288/article/details/17454445原文 参考技术C 你传进去一个
NSString
参数,然后用case判断这个参数对应的值,这样就使用了
NSString
了 参考技术D 据我所知,好像现在只有swift支持NSString类型,oc不支持,直接复制就可以switch(titleStr)
case "1"
..
第5个回答 2016-06-02 没有使用过NSString,你可以将string转化成integer,再用。
以上是关于iOS switch的参数怎么使用NSString的主要内容,如果未能解决你的问题,请参考以下文章