Поиск строки в строковом массиве в цели c - PullRequest
80 голосов
/ 10 мая 2010

Я хочу найти определенную строку в массиве строк в цели c. Может ли кто-нибудь помочь мне в этом отношении?

Ответы [ 3 ]

185 голосов
/ 10 мая 2010
BOOL isTheObjectThere = [myArray containsObject: @"my string"];

или если вам нужно знать, где он находится

NSUInteger indexOfTheObject = [myArray indexOfObject: @"my string"];

Я настоятельно рекомендую вам прочитать документацию по NSArray . Лучше всего это сделать перед тем, как опубликовать свой вопрос: -)

45 голосов
/ 20 марта 2013

Вы можете использовать класс NSPredicate для поиска строк в массиве строк. См. Пример кода ниже.

NSMutableArray *cars = [NSMutableArray arrayWithObjects:@"Maruthi",@"Hyundai", @"Ford", @"Benz", @"BMW",@"Toyota",nil];

NSString *stringToSearch = @"i";

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",stringToSearch]; // if you need case sensitive search avoid '[c]' in the predicate

NSArray *results = [cars filteredArrayUsingPredicate:predicate];

Это наиболее эффективный способ поиска строк в массиве строк

2 голосов
/ 11 сентября 2014
NSMutableArray *cars = [NSMutableArray arrayWithObjects:@"Max",@"Hai", @"Fine", @"Bow", @"Bomb",@"Toy",nil];

NSString *searchText = @"i";
 NSArray *results = [cars filteredArrayUsingPredicate:predicate];

// if you need case sensitive search avoid '[c]' in the predicate

 NSPredicate *resultPredicate = [NSPredicate
                                predicateWithFormat:@"title contains[c] %@",
                                searchText];


searchResults = [cars  filteredArrayUsingPredicate:resultPredicate];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...