一种可能的方法:
假设您可以将 rangeOfString 和 rangeOfCharacter 调用的(实际上有点乏味)拼凑在一起,并可以编写如下方法:
-(NSInteger)numberOfMatchesFoundInString:(NSString*)inputString;
它允许您传入一个字符串,并根据找到的匹配项返回一个 0,1,2...。
要以高度可读的方式使用这个方便的结果,您可以使用 switch 语句。
NSInteger* matches = [self numberOfMatchesFoundInString:someString];
switch (matches) {
case 0:
//execute some code here for when no matches are found
break;
case 1:
//execute some different code when one match is found
break;
case 2:
//you get the idea
break;
default:
//some code to handle exceptions if the numberOfMatchesFoundInString method went horribly wrong
break;
当然有些人会告诉你,这在功能上与调用没有什么不同
if (someCondition) {
//do some stuff
}
else if (someOtherCondition) {
//do some different stuff
}
etc...
但实际上,您可以使任何一项工作。