只能够对网络进行监听,然后提醒用户网络链接异常
2014-10-29 11:05
459 查看
下面是监听网络改变的代码,可以参考一下:
在AppDelegate.m中写如下代码:
[cpp]
view plaincopy
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
//开启网络状况的监听
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
self.hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"] ;
[self.hostReach startNotifier]; //开始监听,会启动一个run loop
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
//网络链接改变时会调用的方法
-(void)reachabilityChanged:(NSNotification *)note
{
Reachability *currReach = [note object];
NSParameterAssert([currReach isKindOfClass:[Reachability class]]);
//对连接改变做出响应处理动作
NetworkStatus status = [currReach currentReachabilityStatus];
//如果没有连接到网络就弹出提醒实况
self.isReachable = YES;
if(status == NotReachable)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接异常" message:@"暂无法访问书城信息" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alert show];
[alert release];
self.isReachable = NO;
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接信息" message:@"网络连接正常" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alert show];
[alert release];
self.isReachable = YES;
}
}
通过如上代码,在应用程序的任何一个界面都可以使用下面的单例来判断网络是否连接
[cpp]
view plaincopy
AppDelegate *appDlg = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if(appDlg.isReachable)
{
NSLog(@"网络已连接");//执行网络正常时的代码
}
else
{
NSLog(@"网络连接异常");//执行网络异常时的代码
}
然后就可以执行响应的操作了,这样使用监听的好处就是,不必在每一个需要检测网络链接情况的地方都写一大堆代码,只需要上面的监听,网络改变的时候,在任何一个地方都可以自定提醒用户。
/article/7783887.html
在AppDelegate.m中写如下代码:
[cpp]
view plaincopy
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
//开启网络状况的监听
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
self.hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"] ;
[self.hostReach startNotifier]; //开始监听,会启动一个run loop
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
//网络链接改变时会调用的方法
-(void)reachabilityChanged:(NSNotification *)note
{
Reachability *currReach = [note object];
NSParameterAssert([currReach isKindOfClass:[Reachability class]]);
//对连接改变做出响应处理动作
NetworkStatus status = [currReach currentReachabilityStatus];
//如果没有连接到网络就弹出提醒实况
self.isReachable = YES;
if(status == NotReachable)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接异常" message:@"暂无法访问书城信息" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alert show];
[alert release];
self.isReachable = NO;
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接信息" message:@"网络连接正常" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alert show];
[alert release];
self.isReachable = YES;
}
}
通过如上代码,在应用程序的任何一个界面都可以使用下面的单例来判断网络是否连接
[cpp]
view plaincopy
AppDelegate *appDlg = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if(appDlg.isReachable)
{
NSLog(@"网络已连接");//执行网络正常时的代码
}
else
{
NSLog(@"网络连接异常");//执行网络异常时的代码
}
然后就可以执行响应的操作了,这样使用监听的好处就是,不必在每一个需要检测网络链接情况的地方都写一大堆代码,只需要上面的监听,网络改变的时候,在任何一个地方都可以自定提醒用户。
/article/7783887.html
相关文章推荐
- 限制sftp用户只能在自己文件夹下活动,不可进行ssh链接和使用22端口
- 修改XP默认只能使用guest帐户进行网络访问的办法
- 修改XP默认只能使用guest帐户进行网络访问的办法
- 对EditText进行监听,为TextView设置链接匹配,自动拨号
- 使用Connectify造成本地链接网络异常
- 下拉列表框只能选择,我想选择后还可以允许用户对选择的内容进行修改,如何实现可编辑的下拉列表框?
- 终端服务限制用户只能进行一个会话
- 与另一个peer进行通信只能:先发布PipeAdvertisement,然后创建Pipe进行通信吗?
- 查找网络服务程序监听异常的问题
- 检查并提醒用户设置网络
- 修改XP默认只能使用guest帐户进行网络访问的办法
- 修改XP默认只能使用guest帐户进行网络访问的办法
- asp.net实现一个用户进行注册的时候同时发送一个邮件到注册人的邮箱,通过发送的邮箱链接来激活该帐号
- hadoop运行任务时出现网络链接异常
- 解决ADSL用户只能上电信网络网站(www.gznet.com)不能上其他网站的问题
- 最简单的使用程序进行网络链接测试
- Mac: 网络用户遇到Adobe Reader 9.x/10.x异常退出的解决
- Android 利用httpclient进行网络通信,实现用户登录的方法
- 检查并提醒用户设置网络