Хорошо, поэтому я работаю над реализацией UISearchBar для tableView, который имеет разделы. Это может быть неправильно, но чтобы заполнить табличное представление в первый раз, у меня есть массив с большим количеством записей, а затем заполните разделы следующим образом:
if(indexPath.section ==0){
[cell.textLabel setText:[tableData objectAtIndex:indexPath.row]];
}else if(indexPath.section ==1){
[cell.textLabel setText:[tableData objectAtIndex:indexPath.row+4]];
}else if(indexPath.section ==2){
[cell.textLabel setText:[tableData objectAtIndex:indexPath.row+8]];
}
Что далеко не элегантно, но работает. Теперь я пытаюсь подключить UISearchBar, и это метод, с которым я сталкиваюсь с проблемами:
- (void)searchBar:(UISearchBar *)sBar textDidChange:(NSString *)searchText
{
[tableData removeAllObjects];// remove all data that belongs to previous search
if([searchText isEqualToString:@""] || searchText==nil){
[tableView reloadData];
return;
}
NSInteger counter = 0;
for(NSString *name in dataSource)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];
NSRange r = [name rangeOfString:searchText];
if(r.location != NSNotFound)
{
[tableData addObject:name];
}
[pool release];
}
[tableView reloadData];
}
Итак, я снова создаю массив записей, которые соответствуют критериям поиска, но затем, когда я пытаюсь перезагрузить свой tableView, он запутывается, потому что он ожидает разделы. Но все, что мне нужно, это результаты в виде простого безсхемного tableView.
Как я могу реализовать этот UISearchBar с tableView с разделами?
Спасибо