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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Ввод и вывод из файла http://www.cyberforum.ru/objective-c/thread1112180.html
Всем добрый вечер! Начал изучать этот замечательный язык неделю назад, записался на мастер-класс и мне прислали тестовое задание. Задание само по себе не сложное, но вот с реализацией возникла небольшая проблема! Поначалу просто не работали примеры из книжек и методическ - оказалось дело было в пресловутом ARC - пришлось вырубать в настройках. Теперь вот не работает корректно вывод из файла:...
Objective-C Стили для кнопки Добрый день. Попробовал положить в фон изображение для кнопки- в состоянии NORMAL- всё впорядке, но при наведении кнопка "растворяется" (как любая кнопка в iOs7). Подскажите как убрать это. Чтобы я сам мог задать hover. вот код: UIImage *buttonNormal= ; ; UIImage *buttonHover= ; ; http://www.cyberforum.ru/objective-c/thread1111591.html
Добавить рекламный банер в UINavigationBar Objective-C
Доброго времени суток! Есть желание добавить рекламный банер сразу под UINavigationBar. Преимущество будет в том что при переходе с одного контролера на другой банер будет все так же продолжать висеть и демонстрировать рекламу. Реализовал следующим образом: В application:didFinishLaunchingWithOptions:launchOptions воткнул код insertSubview:bannerView atIndex:0]; Но вот проблема в том...
Objective-C Кнопки Action Sheet
Всем привет! Пытаюсь привязать allert ко второй кнопке сверху (называется- "Кнопка"). Ко всем привязал, к этой не могу- подскажите, где ошибся-показывается? Пишет сообщение от третьей! - (IBAction)button:(UIButton *)sender { UIActionSheet* actionSheet = initWithTitle:@"AlertSheet" delegate:self cancelButtonTitle:@"Отмена" destructiveButtonTitle:@"Красная кнопка"...
Objective-C Как передавать данные между контроллерами Tab Bar-a http://www.cyberforum.ru/objective-c/thread1109486.html
Как передавать данные между контроллерами Tab Bar и отслеживать нажатие кнопки например в первом контроллере чтоб менять badge второго Есть вроде для этого дела UITabBarController Delegate и методы. Но что-то я не понял как и где его реализовать может есть ссылка на пример Спасибо
Objective-C Как прочитать изображение в массив Здравствуйте, у меня один не разрешимый вопрос. Мне нужно обычное изображение прочитать в массив для дальнейшего его преобразования? Допустим есть полностью белая картинка и где-нибудь там будет один пиксел, как сделать так, чтобы эта картинка прочиталась в массив, где 0- белый пиксел и 1-черный пиксель. Нигде не могу найти инфу по этому поводу. подробнее

Показать сообщение отдельно
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 582
09.03.2014, 17:56     Делегаты
Цитата Сообщение от Vorona Посмотреть сообщение
нужны, грубо говоря, для колбеков, для оповещения о каком-то результате, пока вы заняты чем-то другим
ооо помедленнее

сам паттерн назвается Шаблон делегирования

В ObjC есть еще такое слово как "протокол", который на самом деле представляет из себя абстрактный класс. (то есть названия методов есть , а их реализации нет)

Любое делегирование идет по методам этого "протокола". Однако есть еще анонимное делегирование, то есть вызываем селектор без проверки что он там вообще есть.

Наверно самое частое использование этого паттерна конкретно в приложениях IOS принадлежит компоненту UITableView которому назначается делегирование по 2 протоколам

Objective-C
1
2
_table.delegate = self;
_table.dataSource = self;
вот эти 2 строки назначают делегирование где self это объект которому таблица будет посылать сообщения по протоколу.

UITableViewDelegate

UITableViewDataSource

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

можно рассмотреть еще сам вызов селекторов

Objective-C
1
 if ([_delegate respondsToSelector:@selector(blabla)]) [_delegate performSelector:@selector(blabla) withObject:Object];
эта сама общая конструкция при вызове селектора у делегируемого объекта (_delegate)

Проверяем что это селектор там есть и потом вызываем его.
 
Текущее время: 02:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru