iPad应用中的网络连接警报视图

时间:2012-01-18 11:01:30

标签: iphone objective-c

如果没有网络,如何显示警报视图,因为我从服务器上的xml获取数据。

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

正如大家所说,你需要使用Reachability.h和Reachability.m。 但是没有人通过通知说出正确的变体:

首先,您需要为您的班级添加变量。最好在.m文件中将其声明为私有:

@implementation YourClass
Reachability* reachability;

@end

然后,您必须创建新的可达性并将观察者(自我)添加到通知中心:

[[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(showInetConnection)
                                                     name:kReachabilityChangedNotification
                                                   object:nil];
        reachability = [[Reachability reachabilityForInternetConnection] retain];
        [reachability startNotifier];

...

-(void)showInetConnection
{
    if ([reachability currentReachabilityStatus]==NotReachable) {
        UIAlertView* view = [[UIAlertView alloc] initWithTitle:@"Error"
                                                       message:@"There are no inet connection"
                                                      delegate:nil
                                             cancelButtonTitle:@"Ok" 
                                             otherButtonTitles:nil];
        [view show];
        [view release];
    }
}

答案 2 :(得分:0)

将“Reachability.h”添加到您的UIViewController子类中,并在适用的情况下使用此代码。

  if (![[Reachability reachabilityForInternetConnection] isReachable]) {
    [[[[UIAlertView alloc] initWithTitle:@"No Internet connection!"
                                 message:@"You have no active internet connection. Please enable wi-fi and re-launch the app."
                                delegate:nil
                       cancelButtonTitle:@"Close"
                       otherButtonTitles:nil, nil] autorelease] show];
    return;
  }

答案 3 :(得分:0)

我在检查网络可用性方面遇到了类似的问题。 Apple的可达性代码将在iOS5 ARC功能下抛出错误。

最后,我在gitHub中找到了这个工作项目 https://github.com/tonymillion/Reachability

它非常容易实现,并且在网站上提供了说明。

BR, 哈