Разделение ответственности за делегата UIPickerView и источник данных - PullRequest
1 голос
/ 04 апреля 2011

Я изучаю UIPickerView и то, как некоторые методы обрабатываются в делегате, а некоторые в источнике данных

Методы, обработанные делегатом:

Направления для рисования прямоугольников для предметов, pickerView: titleForRow: forComponent Значения строк (строки или представления)

Методы, обработанные источником данных:

Количество компонентов, pickerView: numberOfRowsInComponent, numberOfComponentsInPickerView

Вопросы: Есть ли простой способ запомнить, какие методы обрабатываются делегатом, а какие - источником данных? Почему некоторые методы UIPickerView обрабатываются делегатом, а некоторые - источником данных, и почему они разделяются между этими двумя способами?

Заранее спасибо.

1 Ответ

1 голос
/ 14 июля 2011

UIPickerView и UITableView имеют очень похожий дизайн с точки зрения поддержки объектов делегата и источника данных. Объект делегата обычно обрабатывает взаимодействие с пользователем (или последствия взаимодействия с пользователем) с помощью средства выбора / таблицы, в то время как объект источника данных, как следует из названия, предоставляет спецификации и содержимое представления средства выбора / таблицы.

На практике вы обычно делаете содержащий UIViewController как делегат, так и источник данных и реализуете оба набора методов протокола в контроллере представления.

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