首页 > 代码库 > iOS之Reachability和AFN判断网络连接状态
iOS之Reachability和AFN判断网络连接状态
1.Reachability// 监听网络状态改变的通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil];// 创建Reachabilityself.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(@"没有网络"); }}2.AFN// 1.获得网络监控的管理者AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];// 2.设置网络状态改变后的处理[mgr 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.开始监控[mgr startMonitoring];
iOS之Reachability和AFN判断网络连接状态
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。