Обзор табличного представления API

Интерфейс программирования табличного представления включает несколько классов UIKit, два формальных протокола и категорию, добавленную к классу платформы Основы.

Табличное представление

Само табличное представление является экземпляром UITableView класс. Вы используете его методы для конфигурирования появления табличного представления — например, указывая высоту по умолчанию строк или обеспечивая подпредставление, используемое в качестве заголовка для таблицы. Другие методы предоставляют Вам доступ к в настоящее время выбираемой строке, а также определенным строкам или ячейкам. Можно вызвать другие методы UITableView для управления выборами прокрутите табличное представление, и вставьте или удалите строки и разделы.

UITableView наследовался от UIScrollView класс, определяющий прокрутку поведения для представлений с содержанием, больше, чем размер окна. UITableView переопределяет поведение прокрутки позволить вертикальную прокрутку только.

Контроллер табличного представления

UITableViewController класс управляет табличным представлением и добавляет поддержку многих стандартных связанных с таблицей способов поведения, таких как управление выбором, редактирование строки, табличная конфигурация и другие. Эта дополнительная поддержка должна там минимизировать объем кода, который необходимо записать, чтобы создать и инициализировать основанный на таблице интерфейс. Вы не используете этот класс непосредственно — вместо этого Вы разделяете на подклассы UITableViewController добавить пользовательские способы поведения.

Источник данных и делегат

A UITableView объект должен иметь делегата и источник данных. После шаблона разработки Контроллера представления Модели источник данных посредничает между моделью данных приложения (т.е. ее объекты модели) и табличным представлением. Делегат, с другой стороны, управляет появлением и поведением табличного представления. Источник данных и делегат часто являются (но не обязательно) тем же объектом, и что объект обычно является пользовательским подклассом UITableViewController. (См. Навигацию по Иерархии Данных с Табличными представлениями для получения дополнительной информации.)

Источник данных принимает UITableViewDataSource протокол. UITableViewDataSource имеет два требуемых метода. tableView:numberOfRowsInSection: метод говорит табличному представлению сколько строк отображать в каждом разделе, и tableView:cellForRowAtIndexPath: метод обеспечивает ячейку для отображения для каждой строки в таблице. Дополнительные методы позволяют источнику данных конфигурировать многократные разделы, обеспечивать заголовки и/или нижние колонтитулы, и добавление поддержки, удаление и переупорядочение строк в таблице.

Делегат принимает UITableViewDelegate протокол. Этот протокол не имеет никаких требуемых методов. Это объявляет методы, позволяющие делегату изменять видимые аспекты табличного представления, управлять выборами, поддерживать вспомогательное представление и редактирование поддержки отдельных строк в таблице.

Приложение может использовать класс удобства UILocalizedIndexedCollation чтобы помочь источнику данных организовать данные для индексируемых списков и вывести на экран надлежащий раздел когда, пользователи касаются элемента в индексе. UILocalizedIndexedCollation класс также локализует заголовки раздела.

Расширение класса NSIndexPath

Много методов табличного представления используют индексные пути в качестве параметров или возвращаемых значений. Индексный путь идентифицирует путь к определенному узлу в дереве вложенных массивов, и в платформе Основы он представлен NSIndexPath объект. UIKit объявляет категорию на NSIndexPath с методами, которые соединяет каналом клавиша Return, найдите строки в разделах и конструкцию NSIndexPath объекты от строки и индексов раздела. Для получения дополнительной информации посмотрите дополнения NSIndexPath UIKit.

Ячейки табличного представления

Как отмечено в Источнике данных и Делегате, источник данных должен возвратить объект ячейки для каждой видимой строки, которую выводит на экран табличное представление. Эти объекты ячейки должны наследоваться от UITableViewCell класс. Этот класс включает методы для управления выбором ячейки и редактирования, управления представлениями аксессуара и конфигурирования ячейки. Можно инстанцировать ячеек непосредственно в стандартных стилях, определенных UITableViewCell класс и дает этим ячейкам содержание, состоящее из одной или двух строк текста и, в некоторых стилях, обоих изображениях и тексте. Вместо того, чтобы использовать ячейку в стандартном стиле, можно поместить собственные подпредставления в представление содержания «стандартного» объекта ячейки. Можно также разделить на подклассы UITableViewCell настроить появление и поведение ячеек табличного представления. Эти подходы все обсуждены в Более внимательном рассмотрении в Ячейках Табличного представления.