кто такой Делегат в iPhone?

что точное означает делегата в iPhone? как это реализовано в UIViewController?

13
задан mk12 5 June 2010 в 03:33
поделиться

3 ответа

Делегат - это объект, который обычно реагирует на какое-то событие в другом объекте и/или может влиять на поведение другого объекта. Объекты работают вместе ради общего блага - выполнения задачи. Как правило, объект делегата разделяется многими другими объектами, перед которыми стоит более конкретная задача. Сам делегат будет более абстрактным и может многократно использоваться для выполнения различных задач. Объект, содержащий делегат, обычно посылает делегату сообщение при наступлении определенного события, давая делегату возможность выполнить свою определенную задачу.

Есть больше документации здесь, которую вы должны прочитать, чтобы понять паттерн делегата в Cocoa и Cocoa touch, особенно то, как используется делегирование между UIWindow и UIView. Это неотъемлемый паттерн проектирования в архитектуре iPhone, и его следует освоить, если вы хотите создать чистое приложение.

14
ответ дан 1 December 2019 в 22:06
поделиться

Делегаты используются для делегирования задач объектов их владельцу (или любому объекту, на самом деле). Хорошей причиной для этого является то, что это облегчает использование композиции вместо наследования. Делегаты представляют собой ссылку на объект, который соответствует определенному протоколу, поэтому вы можете гарантировать, что он будет реализовывать необходимые методы. Хорошим примером является UIApplicationDelegate. Обратите внимание, как делегированные методы (из протокола) используют глаголы applicationDid, applicationShould, applicationWill и т.д. Обычно методы делегата либо запрашивают разрешение сделать что-то (и выбирают делать это именно так, в методе, а не просто свойством BOOL, для большей гибкости), либо уведомляют делегата о событии, которое произойдет или уже произошло.

5
ответ дан 1 December 2019 в 22:06
поделиться

Делегирование - это паттерн, и этот термин означает то же самое в Cocoa.

Делегат не реализуется в UIViewController UIViewController . Различные виды контроллеров представления назначают делегата для выполнения определенных задач. Одним из лучших примеров (если мы говорим об iPhone) является UITableViewDelegate, который вызывается для выполнения определенных действий при возникновении определенных событий, связанных с таблицами.

3
ответ дан 1 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: