Я хочу посмотреть, равна ли строка A какому-либо из списка строк - строка1, строка2, строка3. Какой самый эффективный способ сделать сравнение?
Поскольку мой список сравнений довольно мал, я сейчас пытаюсь это сделать:
- (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
- строка ключевых слов, разделенных пробелами.
Буду признателен за любые мысли о том, как улучшить производительность.