У меня возникли некоторые проблемы, связанные с определением правильного шаблона разработки приложения для первоначального оповещения пользователей о необходимости подключения к Интернету.
У меня есть приложение для iOS, для которого требуется подключение к Интернету из-за широкогодиапазон данных, которые пользователь может запросить.В приложении есть пара контроллеров панели вкладок, в которых есть навигационные контроллеры, которые проводят пользователей через различные представления на основе иерархии и возвращаемых данных.Все запросы выполняются асинхронно с использованием ASIHTTPRequest с использованием наблюдателей NSNotificationCenter, которые ожидают, когда центральный класс запросов API выполнит запрос или сообщит об ошибке.В большинстве случаев пользователь загружает по крайней мере первые запросы, но я всегда могу попросить их включить свое соединение в UIAlertView, а затем вернуть их на этот более низкий уровень, вытолкнув другие уровни контроллера Nav из стека, если они этого не делают.связано.В целом приложение прекрасно работает.
Однако, если пользователь должен был сначала открыть приложение с отключенным соединением, у меня возникают проблемы.Часто мои начальные подпредставления (которые являются IBoutlets для простоты создания панели вкладок / иерархии навигации) будут пытаться загрузить, прежде чем я смогу проверить наличие соединения.Я не уверен, что, возможно, правильный способ сделать это - создать тайм-аут в моем делегате приложения до того, как что-то загрузится, или сделать первоначальный тестовый запрос, который фактически не извлекает какие-либо важные данные (так как кажется, что это почти невозможноили, по крайней мере, нецелесообразно полностью повторно инициализировать представление с нуля, не будучи его делегатом).
Есть ли у кого-нибудь простой метод, который они используют для достижения этой цели на этапе инициализации приложения?Я чувствую, что, должно быть, я упускаю что-то очевидное, поскольку остальная часть этого была настолько простой.
Если кто-то хочет, чтобы я опубликовал код, я мог бы, однако я уверен, что это в первую очередь вопрос архитектуры.Также, пожалуйста, имейте в виду, что я бы предпочел использовать наблюдателей, которые делегируют в большинстве случаев из-за намеренно слабо связанной природы моего приложения.
Я очень ценю любой вклад в это.