可达性状态消息仅出现一次

时间:2012-01-31 17:19:29

标签: iphone objective-c

我正在弹出一条消息,警告用户他/她已经丢失了WIFI /互联网连接。为此,我遵循了apple提供的Reachability example

我添加了2个可达性类,Rechability.h和.m,并且我还将其应用委托中给出的代码添加到我的(精确副本)。这非常有效。

我的问题是,此消息只出现一次,我希望它在显示每个视图时显示。

我正在使用的所有代码都可以找到here。帮助

3 个答案:

答案 0 :(得分:1)

您可以在每个视图的viewDidAppear方法中调用[Reachability reachabilityForInternetConnection] ...

但正如其他人所提到的,一遍又一遍地看到同样的信息可能会有点烦人。

答案 1 :(得分:1)

嗯......不确定你对Rechability的期望是什么。

此课程旨在改变您的可转换状态。检测到更改后,可访问性会发送通知,但如果没有任何更改,您将不会收到任何通知。

编辑:要获取您的可访问性状态并在以后使用它,您可以将BOOL(internetIsDown)添加到您从可达性中读取通知的方法。

- (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值,并向用户显示警报。

N.B。如果你想从任何viewController !!!

访问它的值,internetIsDown应该是一个单例

答案 2 :(得分:1)

我有一个应用程序,我有标签。根控制器注册可达性消息。 UIAlertView 用于显示警告。这在应用程序的所有部分都有显示。