Мне нужно сделать несколько асинхронных вызовов службы в приложении: didFinishLaunchingWithOptions: метод из моего делегата приложения, чтобы извлечь некоторые данные из службы, которые будут использоваться различными контроллерами в моем приложении.У меня есть контроль над службой, и я спроектировал API как можно более RESTful, поэтому мне нужно сделать несколько вызовов во время инициализации приложения.
Я хочу показать представление загрузки синдикатор хода выполнения - аналогично экрану заставки по умолчанию из Default.png - и удалите это представление после завершения вызовов службы и получения начальных значений, которые мне нужны.Это довольно легко сделать, если есть только один вызов службы, поскольку я могу просто подключить эту логику к методу connectionDidFinishLoading: делегат NSURLConnection, скрыв представление загрузки и отобразив корневой контроллер.
Однако с несколькими службамизвонки, становится сложно.Я могу «связать» все вместе и запустить один запрос, дождаться его завершения / сбоя, затем запустить второй запрос и так далее, пока не доберусь до последнего запроса.В последнем запросе я скрываю загрузочный вид и отображаю обычный вид.Тем не менее, это может быть громоздким с несколькими вызовами службы, и код становится трудно понять и следовать.
Любые предложения о лучшем подходе для этого?иметь одноэлементный класс, отвечающий за вызовы службы и инициализацию приложения.Объект singleton будет запускать все необходимые запросы параллельно при запуске, и каждый обратный вызов fail / finish будет проверять, завершен ли каждый запрос.Если все запросы завершены, он может вызвать некоторый метод в делегате приложения и сказать ему, чтобы скрыть представление загрузки, показать корневой контроллер и т. Д.
Мысли?