Предполагая, что ваше self.isFiltered
логическое значение является переменной, которая управляет тем, какой набор данных выводится на экран; либо полный список, либо уточненный искомый набор.
Когда вызывается -(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { ...}
, устанавливается флаг self.isFiltered
, и вы перезагружаете таблицу через. [self.tableView reloadData];
перезагружает таблицу, проверяя, визуализируете ли вы отфильтрованные данные или нет.
Также, когда вызывается reloadData
, он проверяет, сколько разделов должно быть отображено. Если все сделано правильно, вы можете получить что-то вроде этого ...
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
if(self.isFiltered) //If searching
return nil; //Return empty section
else
return sectionSelectionArray; //Return list of headers
}