Я пишу приложение для iPhone, которое взаимодействует с веб-службой RESTful, и мне нужно запросить токен аутентификации для использования со всеми последующими запросами. Я хочу избежать многопоточности, если это возможно, и вместо этого использовать асинхронные методы NSURLConnection, чтобы гарантировать, что основной поток не блокируется (и, таким образом, гарантировать, что пользовательский интерфейс остается отзывчивым).
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу понять, как заставить последующие запросы ждать, пока токен не будет извлечен, не делая токен синхронным запросом и не блокируя основной поток.
Мне пришло в голову, что я могу добавить в цикл значение семафора, которое устанавливается, когда выборка токена завершается, но это кажется неуклюжим и неправильным способом сделать это. Есть ли приемлемый способ сделать это правильно?