Разница между UITableViewDelegate и UITableViewDatasource - PullRequest
7 голосов
/ 19 апреля 2011

Кто-нибудь скажет мне разницу между UITableViewDelegate и UITableViewDatasource?

Ответы [ 4 ]

26 голосов
/ 19 апреля 2011

UITableViewDelegate

Работа в качестве делегата таблицы означает, что вы предоставляете ответы на запросы о макете таблицы и о действиях, которые пользователь выполняет в представлении таблицы.Методы Макет включают представление таблицы, спрашивающее о высоте строк, верхних и нижних колонтитулах, как должны выглядеть кнопки и т. Д. Методы * Action включают в себя выбор пользователем строки, начала и концаредактирование строки.

UITableViewDatasource

Использование в качестве источника данных таблицы означает, что вы предоставляете данные для разделов и строк таблицы , а вы действовать на сообщения, которые изменяют данные таблицы .Источнику данных запрашиваются данные для ячейки при рисовании таблицы, ему сообщают, что пользователь запросил удаление строки, и сообщают новое значение строки, которое отредактировал пользователь.

5 голосов
/ 26 января 2017

В дополнение к ответам, это список всех методов в делегате и источнике данных. enter image description here

см. Оригинальный ответ: методы делегирования и источника данных для UITableView

1 голос
/ 19 апреля 2011

Источник данных принимает протокол UITableViewDataSource, а делегат принимает протокол UITableViewDelegate. UITableViewDataSource имеет один необязательный метод, с помощью которого источник данных сообщает табличному представлению, сколько у него разделов (по умолчанию один); у него также есть обязательный метод, с помощью которого он сообщает табличному представлению, сколько строк в каждом разделе. Протокол UITableViewDelegate объявляет метод, который делегат должен реализовать для возврата объекта ячейки, который табличное представление использует при рисовании конкретной строки. («Ячейки табличного представления» дают более подробную информацию об этой задаче делегата.) Это также позволяет делегату изменять видимые аспекты табличного представления. Оба протокола также включают необязательные методы реагирования на выборки и нажатия на дополнительные представления и для управления вставкой, удалением и изменением порядка ячеек.

Сначала изучите основы! - Руководство по TableView

1 голос
/ 19 апреля 2011

UITableViewDelegate - это протокол, который вы реализуете в своем классе для получения UITableView событий.UITableViewDataSource - это протокол, который вы реализуете для предоставления данных для вашего UITableView.

Итак, с помощью протокола UITableViewDelagate вы сможете реагировать на такие события, как: выбор в ваших строках, редактирование и др.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...