Используя NSPredicate, вы можете получить массив строк, содержащих вашу строку поиска (кажется, нет встроенного метода для получения только индексов элементов):
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS[cd] %@", searchString];
NSArray *filteredArray = [array filteredArrayUsingPredicate: predicate];
Вы можете получить только индексы, используя indexesOfObjectsPassingTest:
Метод:
NSIndexSet *indexes = [array indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop){
NSString *s = (NSString*)obj;
NSRange range = [s rangeOfString: searchString];
return range.location != NSNotFound;
}];
Если вы хотите получить только один элемент, содержащий вашу строку, вы можете использовать аналогичный метод indexOfObjectPassingTest:
для этого.