Я пытаюсь реализовать поиск контента в iPhone с помощью UISearchBar, мой код такой, как показано ниже.
- (void)searchBar:(UISearchBar*)searchBar textDidChange:(NSString*)searchText {
if([tableData count])
[tableData removeAllObjects];
//dataArray contains array of strings
//tableData should containg arrow of strings as a serch result
NSRange range = {0, [searchText length]};
for(int i=0; i<[dataArray count]; ++i)
{
NSString *name = [dataArray objectAtIndex:i];
if([name compare:searchText options:NSCaseInsensitiveSearch range:range] == NSOrderedSame)
[tableData addObject:[dataArray objectAtIndex:i]];
}
[theTableView reloadData];
}
Я принимаю dataArray
в качестве источника строк, а затем я хочу найти некоторый контент в каждой строке, а затем мне нужно сохранить эти строки, содержащие текст для поиска, в массиве tableData
.
Пишите сейчас Я получаю только эти строки, так как результат поиска в начальном тексте совпадает, как если бы в dataArray
было 3 объекта: 1. Индия, 2. Китай, 3. Америка и я ищем "в" тогда он должен показывать Индию и Китай, но только Индию, потому что «В» начинает наполнять Индию.
Подскажите, пожалуйста, как добиться требуемого результата.