Делегируйте Самоконцепцию!

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

Почему мы устанавливаем Delegate на себя?

Спасибо,
Таймур


person Taimur Ajmal    schedule 24.09.2010    source источник
comment
У меня было много проблем с этой концепцией, когда я только начинал программировать. Однако, как только я просмотрела множество примеров и кода с открытым исходным кодом, я смогла понять это. Это просто показывает, что иногда легче учиться на чужой работе, чем просто на объяснении в учебнике. Удачи!   -  person esqew    schedule 24.09.2010


Ответы (2)


Вы звоните в пиццерию (объект) и заказываете большую пиццу пепперони (сообщение).

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

Вы даете им свой собственный номер (я).

person hotpaw2    schedule 24.09.2010

Например, у UITable есть два делегата, UITableDelegate и UITableDataSource...

Допустим, вы хотите создать подкласс UITable, и ваш вновь созданный подкласс должен не только расширять функциональность UITable, но и управлять его содержимым. Поскольку содержимым управляет UITableDataSource-Delegate, ваш новый подкласс UITable будет реализовывать этот протокол, и вы должны установить делегат UITable самому себе.

Надеюсь это поможет!

person Phlibbo    schedule 24.09.2010
comment
Вы интерпретировали вопрос как вопрос о self.delegate = self, тогда как постер мог иметь в виду foo.delegate = self. - person tc.; 25.09.2010