Я не понимаю, как будет работать метод @Rudiger's, если у вас есть только разделы A, C, F, S, T и заголовки разделов для A-Z. Такая ситуация может возникнуть при использовании MPMediaQuery.
Чтобы обойти это, я реализовал этот метод следующим образом: просмотр таблицы перейдет к правильному разделу или следующему, если тот, который вы ищете, не существует.
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{
NSString *sectionTitle = nil;
NSComparisonResult result;
int i;
for(i = 0; i < tableView.numberOfSections; i++)
{
sectionTitle = [self tableView:tableView titleForHeaderInSection:i];
result = [title compare:sectionTitle];
if(result != NSOrderedDescending)
break;
}
return (MIN (i, (tableView.numberOfSections - 1)));
}
UPDATE
Изменено возвращаемое значение, чтобы исправить ситуацию, описанную Эриком Д'Суза.