Objective-C 有没有更好的方法:
if ([elementName isEqual:@"one"]){ // do some stuff } else if ([elementName isEqual:@"two"]]{ // do more stuff } else if ([elementName isEqual:@"three"]]{ // do more stuff }
理想情况下,我想要这样的东西:
//BAD CODE, NOT REAL!!! switchString(elementName){ @"one": // do stuff break; @"two": // do more stuff break; @"three": // do more stuff break; }
最佳答案
简洁一点
NSArray* array = [NSArray arrayWithObjects:@"one",@"two",@"three",nil];
int index = [array indexOfObject:elementName];
switch (index) {
case 0:
break;
...
default:
// -1 would be not fount
}
另一种稍微复杂一点的方法是将字符串和 NSInitations 存储在字典中,并使用元素名称作为键来提取调用。如果“do stuff”部分的范围超过几行,我会这样做
关于iphone - 将 NSString 与一堆字符串进行比较的更快/更简单的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3929263/