iPhone - нет подключения к интернету - PullRequest
2 голосов
/ 16 февраля 2011

Я работаю над приложением, которому требуется доступ к веб-серверу. Я пытаюсь отобразить вид, который появится, если нет подключения к Интернету ... так же, как вы видите в приложении Facebook ( ссылка ).

Есть мысли о том, как я могу это сделать? Должен ли я использовать условный оператор и отображать вместо него отдельное представление?

Заранее спасибо !!

1 Ответ

3 голосов
/ 16 февраля 2011

Это полностью зависит от того, какой тип структуры навигации использует ваше приложение.Используются ли панели вкладок?Если это так, то вы хотите отобразить это сообщение для всех панелей вкладок, которые требуют подключения, чтобы быть полезным

В моем AppDelegate я всегда храню состояние достижимости (см. http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html)., т. Е. AppDelegate получает уведомление о любых изменениях достижимости и сохраняет последнее состояние. Я создал логический метод, который возвращает true, если естьСетевое подключение:

- (BOOL)reachable;

Затем, когда мне нужно принять решение, чтобы показать «нет подключения к Интернету», я проверяю доступность в методе viewWillAppear контроллера представления:

- (void) viewWillAppear:(BOOL)animated {
  [super viewWillAppear:animated];
  MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];

  if (![appDelegate reachable]) {
     // Add a subview that displays the "no internet connection" message
  } else {
     // Do your normal application flow..
  }
}
...