Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Делегаты - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Ввод и вывод из файла http://www.cyberforum.ru/objective-c/thread1112180.html
Всем добрый вечер! Начал изучать этот замечательный язык неделю назад, записался на мастер-класс и мне прислали тестовое задание. Задание само по себе не сложное, но вот с реализацией возникла...
Objective-C Стили для кнопки Добрый день. Попробовал положить в фон изображение для кнопки- в состоянии NORMAL- всё впорядке, но при наведении кнопка "растворяется" (как любая кнопка в iOs7). Подскажите как убрать это. Чтобы я... http://www.cyberforum.ru/objective-c/thread1111591.html
Добавить рекламный банер в UINavigationBar Objective-C
Доброго времени суток! Есть желание добавить рекламный банер сразу под UINavigationBar. Преимущество будет в том что при переходе с одного контролера на другой банер будет все так же продолжать...
Objective-C Кнопки Action Sheet
Всем привет! Пытаюсь привязать allert ко второй кнопке сверху (называется- "Кнопка"). Ко всем привязал, к этой не могу- подскажите, где ошибся-показывается? Пишет сообщение от третьей! -...
Objective-C Как передавать данные между контроллерами Tab Bar-a http://www.cyberforum.ru/objective-c/thread1109486.html
Как передавать данные между контроллерами Tab Bar и отслеживать нажатие кнопки например в первом контроллере чтоб менять badge второго Есть вроде для этого дела UITabBarController Delegate и методы....
Objective-C Как прочитать изображение в массив Здравствуйте, у меня один не разрешимый вопрос. Мне нужно обычное изображение прочитать в массив для дальнейшего его преобразования? Допустим есть полностью белая картинка и где-нибудь там будет один... подробнее

Показать сообщение отдельно
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
07.03.2014, 00:12
делегаты нужны, грубо говоря, для колбеков, для оповещения о каком-то результате, пока вы заняты чем-то другим
ознакомьтесь с паттерном Observer, принцип тот же, только делегат используется в единственном числе, а Observer служит для оповещения многих объектов (массива или списка "делегатов")

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

Сказали этому объекту писать в файл, а сами тем временем показываете какое-то видео, и когда он закончит запись в файл, вы покажете какое-то сообщение или то, что вы реализовали в этом методе

Таким образом вы можете мгновенно реагировать на действия интересующего вас объекта

Добавлено через 4 минуты
Цитата Сообщение от BigDanceMouse Посмотреть сообщение
От части присоединяюсь к вопросу и попрошу разъяснить как создаются делегаты. (не в смысле присваивания, а например 2 класса созданных мной самим один из которых будет делегатом другого)
есть класс, который выполняет некое действие
есть класс, который заинтересован в этом
есть протокол, который должен имплементировать заинтересованный класс, чтобы выполняющий знал, как правильно с ним общаться

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

будь то таблица или аудиоплеер или еще что-то, главное чтобы он просто реализовал методы протокола и в сигнатуре класса показал что импелементирует этот протокол
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru