Вы можете проверить, отвечает ли источник данных табличного представления на селектор sectionIndexTitlesForTableView:
(который источник данных должен реализовать для индексированного табличного представления):
if ([tableView.dataSource
respondsToSelector:@selector(sectionIndexTitlesForTableView:)])
{
NSArray *result =
[tableView.dataSource sectionIndexTitlesForTableView:tableView];
if (result != nil)
NSLog(@"tableView is currently indexed");
else
NSLog(@"tableView is not currently indexed");
}
else
NSLog(@"tableView does not implement indexing");
Если источник данных отвечает на этот селектор, фактически вызываяпроверка и проверка результата допускают возможность того, что табличное представление в настоящее время возвращает nil из этого метода, потому что оно не хочет показывать индекс по какой-либо причине или если источник данных обрабатывает несколько табличных представлений (некоторые из которых проиндексированы, а некоторыекоторые не).