Метод, который вы задали о «-tableView: sectionForSectionIndexTitle: atIndex:», соединяет связанные (2) связанные списки, относящиеся к популяризации данных в стиле UITableView.
1-й список: TableView-Section-Title-List "TVSTL", в "приложении для контактов", он составлен/отсортирован людьми LastNames. Заголовки разделов отображаются в левой части экрана.
список: Indexed-List-Titles «ILT», обычно отображаемый в правой части экрана, это может быть произвольная группа индексов о заголовках разделов выше. Этот список предназначен для пользователя, он работает как панель прокрутки.
Документация iOS не очень понятна в отношении этих 2 списков, поскольку текущее листинг «TVSTL» может быть больше или меньше, чем «ILT», ограничений на список больше нет.
И «Приложение APP» - плохой пример, чтобы показать эту критическую точку ... если у вас мало имен людей (скажем, менее 10), или если у вас есть имена пользователей китайского символа 中文, которые имеют нет заголовков, но сгруппированы в разделы, и эти разделы НЕ могут быть проиндексированы.
Следовательно, если эти 2 списка не совпадают, «-tableView: sectionForIndexTitle: atIndex:» предоставляет решение о следующем прокручивании TableView.
Документ Apple в разделе «Заполнение индексированного списка» подробно объясняет предлагаемую им реализацию, но это немного громоздко (с использованием 4 For-loop, 5 Array). Если вы не хотите «Создание табличного представления программно», вы можете пропустить этот код, в противном случае они перечислены в листинге 4-5, листинг 4-6, листинг 4-7, листинг 4-8, листинг 4-9 Table View Programming Guide for iOS
Означает ли это, что если у меня есть индекс AZ и разделы - названия из AZ, я могу просто пройти через индекс? Если нет, я бы отнесся к индексу к разделу? – brainray