标签:
一、Reachability // 监听网络状态改变的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil]; // 创建Reachability self.conn = [Reachability reachabilityForInternetConnection]; // 开始监控网络(一旦网络状态发生改变, 就会发出通知kReachabilityChangedNotification) [self.conn startNotifier]; // 处理网络状态改变 - (void)networkStateChange { // 1.检测wifi状态 Reachability *wifi = [Reachability reachabilityForLocalWiFi]; // 2.检测手机是否能上网络(WIFI\3G\2.5G) Reachability *conn = [Reachability reachabilityForInternetConnection]; // 3.判断网络状态 if ([wifi currentReachabilityStatus] != NotReachable) {
// 有wifi NSLog(@"有wifi"); } else if ([conn currentReachabilityStatus] != NotReachable) {
// 没有使用wifi, 使用手机自带网络进行上网 NSLog(@"使用手机自带网络进行上网"); } else {
// 没有网络 NSLog(@"没有网络"); } }
二、AFNetworking // 1.获得网络监控的管理者 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; // 2.设置网络状态改变后的处理 [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
// 当网络状态改变了, 就会调用这个block
switch (status) {
case AFNetworkReachabilityStatusUnknown:
// 未知网络
NSLog(@"未知网络");
break;
case AFNetworkReachabilityStatusNotReachable:
// 没有网络(断网)
NSLog(@"没有网络(断网)");
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
// 手机自带网络
NSLog(@"手机自带网络");
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
// WIFI
NSLog(@"WIFI");
break;
}
}];
// 3.开始监控
[manager startMonitoring];
iOS开发——Reachability和AFNetworking判断网络连接状态
标签:
原文地址:http://www.cnblogs.com/yyt-hehe-yyt/p/5288820.html