Зачем сборщику источник данных? - PullRequest
1 голос
/ 08 апреля 2009

Как я понимаю, у Пикеров есть класс Делегата. Зачем нужен дополнительный источник данных?

Ответы [ 4 ]

7 голосов
/ 08 апреля 2009

Между делегатом и источником данных есть разница.

Источник данных обычно используется для настройки того, что отображается элементом управления. «Сколько строк у вас есть?», «Что я должен отобразить в этой строке» и т. Д.

Делегат обычно используется, чтобы сообщить управляющему коду, что что-то произошло. «Эй, кто-то выбрал этот ряд.», «Эй, кто-то начал редактировать этот ряд.»

1 голос
/ 08 апреля 2009

Как и большинство супервайзеров, сборщик глуп. Он не может понять, над чем работать, поэтому ему постоянно дают данные и задачи (провайдер); но для этого нужен кто-то, кто знает, что с этим делать. Это делегат.

1 голос
/ 08 апреля 2009

Поскольку представлению выбора требуется информация о том, как заполнять таблицу внутри каждого сегмента.

Иногда может быть полезно иметь один класс, обрабатывающий, откуда берутся данные, и другой, который обрабатывает, что с ним делать (шаблон MVC)

0 голосов
/ 08 апреля 2009

API, используемый для объединения источников данных и методов делегирования в один протокол (по крайней мере, для UITableViews), но он негибкий - так как теперь вы можете иметь совершенно другой объект, предоставьте данные для отображения из кода, который отвечает для обработки механики использования сборщика.

Как правило, вы подключаете оба к одному и тому же объекту.

...