Сообщение о состоянии доступности появляется только один раз - PullRequest
0 голосов
/ 31 января 2012

Я выскакиваю сообщение, уведомляющее пользователя о том, что он / она потеряли соединение WIFI / интенет. Для этого я последовал примеру Reachability , данным яблоком.

Я добавил 2 класса достижимости, Rechability.h и .m, и также добавил коды, указанные в его делегате приложения (точная копия). Это работает отлично.

Моя проблема в том, что это сообщение появляется только один раз, я хочу, чтобы оно отображалось при переходе к каждому просмотру.

Все коды, которые я использую, можно найти здесь . Помощь

Ответы [ 3 ]

1 голос
/ 31 января 2012

Ммм ... Не уверен, что понимаю, что вы ожидаете от Rechability.

Этот класс предназначен для того, чтобы получать любые изменения в вашем статусе Rechability.При обнаружении изменения Reachability отправьте уведомление, но если ничего не изменится, вы не получите никакого уведомления.

РЕДАКТИРОВАТЬ: чтобы получить свой статус достижимости и использовать его позже, вы можете добавить BOOL (internetIsDown) кметод, при котором вы читаете уведомление из Reachability.

- (void)checkNetworkStatus:(NSNotification *)notice {
    NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
    switch (internetStatus) {
        case NotReachable: {
            internetIsDown = YES;
            break;
        } case ReachableViaWiFi: {
            internetIsDown = NO;
            break;
        } case ReachableViaWWAN: {
            internetIsDown = NO;
            break;
        }
    }
}

Теперь вы можете при необходимости проверить это значение BOOL и отобразить предупреждение для пользователя.

Примечание: InternetIsDown должен быть одиночным, если вы хотитеполучить доступ к его значению из любого viewController !!!

1 голос
/ 31 января 2012

У меня есть приложение, в котором у меня есть вкладки.Корневой контроллер регистрирует сообщения о достижимости. UIAlertView используется для отображения предупреждения.Это показано во всех частях приложения.

1 голос
/ 31 января 2012

Вы можете вызывать [Reachability достижимостьForInternetConnection] в методе viewDidAppear каждого представления ...

Но, как уже упоминали другие, это может быть несколько раздражающим, если вы будете видеть одно и то же сообщение снова и снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...