Makaveli
@Makaveli

Отлавливание асинхронного NSURLConnection в Objective-C?

Здравствуйте. Имеется приложение под ios.

Основной контроллер FirstViewController

Класс RequestsClass


RequestsClass содержит код, который отправляет асинхронный NSURLConnection, получает данные и парсит их.


Из FirstViewController вызывается метод SendRequest класса RequestsClass.


Данные получаются и парсятся, но в новом треде (thread).


Вопрос — поскольу данные получаются и парсятся параллельно выполнению кода FirstViewController — как внутри FirstViewController лучше всего отследить, что запрос закончен, данные распарсены и можно их выводить?
  • Вопрос задан
  • 2986 просмотров
Пригласить эксперта
Ответы на вопрос 1
CLR
@CLR
Подхода три (самые распространенные, есть и экзотические):
1. глобальный нотификейшн на который может подписаться кто угодно.
2. указание для requestclass специального делегата с специальным протоколом по которому он будет уведомлять что загрузка завершена (возникла ошибка), соответственно firstviewcontroller и будет этим делегатом.
3. паредача в requestclass уведомительных блоков которые будут вызываться по окончании загрузки (ну или ошибки).

p.s.
Рекомендую почитать справку/книги все же прежде чем писать подобный код, это самые основы и такой паттерн разбирается в каждой книге про шаблоны или почти в каждой про ООП. Могу порекомендовать даже специализированную для маководов — «Cocoa Design Patterns» amzn.com/0321535022 книга из разряда, «ни строчки кода без прочтения»
p.p.s.
про треды не совсем понятно, или я не понял идеи, или вы не совсем понимаете что происходит.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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