Я хотел очистить один из моих проектов и извлечь части моего исходного кода, которые я часто использую, в одном классе.Этот класс обрабатывает некоторые запросы к веб-сервису, пока все в порядке;).До тех пор, пока я не извлек код в свой собственный класс, я обрабатывал эти запросы с помощью потоков и обратных вызовов в вызывающем классе.
Теперь у меня есть вопрос с рекомендациями:
В своем коде я делаючто-то вроде (упрощенно):
(void)foo{
Helper *h =[[Helper alloc]init];
[h doRequest];
}
doRequest выполняет сетевое действие (в своем собственном классе), и мне приходится ждать, пока этот запрос не будет завершен.Поэтому мне нужен обратный вызов или что-то вроде этого.
Должен ли я просто поток doRequest вкл.waituntildone = ДА?
Должен ли я также выполнять потоковую работу в сети в классе Helper?Или этого достаточно, чтобы вызвать метод в виде потока примерно так:
[NSThread detachNewThreadSelector:@selector(h doRequest) toTarget:self withObject:nil];
Какова лучшая практика для получения обратного вызова из doRequest к классу вызывающего после того, как он завершит свои задачи, чтобы я мог обработать возвращенныйзначения из веб-сервиса?
Заранее спасибо.
Йоханнес