如果没有网络,如何显示警报视图,因为我从服务器上的xml获取数据。
答案 0 :(得分:1)
您需要使用Apple Reachability。
看看这个
http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html
答案 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, 哈