【发布时间】:2011-08-18 00:01:51
【问题描述】:
我想看看 stringA 是否等于字符串列表中的任何一个——string1、string2、string3。进行比较的最佳方式是什么?
由于我的比较列表很小,我目前正在尝试这个:
- (BOOL) isStringInList:(NSString *)testString{
if ([testString caseInsensitiveCompare:@"string1"] == NSOrderedSame)
return YES;
else if ([testString caseInsensitiveCompare:@"string2"] == NSOrderedSame)
return YES;
else if ([testString caseInsensitiveCompare:@"string3"] == NSOrderedSame)
return YES;
return NO;
}
如果我有很多要比较的字符串,这显然不能很好地扩展。我更喜欢像-(BOOL) isString:(NSString *)testString inList:(NSString *)listString 这样的方法签名,其中listString 是一个以空格分隔的关键字字符串。
任何关于如何提高性能的想法都将不胜感激。
【问题讨论】:
标签: iphone objective-c ios cocoa-touch performance