网络状态监测
来源:互联网 发布:java图片上传跨域请求 编辑:程序博客网 时间:2024/06/05 11:02
IOS开发过程中网络状态的监测
(1) 苹果自带的Reachability
注意:Build Phases 中的 Compile Sources中Reachability.m设置
核心代码:
@property (nonatomic, strong) Reachability *reach;- (void)viewDidLoad { [super viewDidLoad]; //发送状态改变的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStatusChanged) name:kReachabilityChangedNotification object:nil]; //获取Reachability对象 _reach = [Reachability reachabilityForInternetConnection]; //开始监听网络 [self.reach startNotifier]; }- (void)dealloc{ [self.reach stopNotifier]; [[NSNotificationCenter defaultCenter] removeObserver:self];}- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ [self checkNetworkState];}- (void)networkStatusChanged{ NSLog(@"网络状态改变"); [self checkNetworkState];}/** 监听网络改变 */- (void)checkNetworkState{ if ([self isWifi]){ NSLog(@"WIFI"); }else if([self isWan]){ NSLog(@"WAN"); }else{ NSLog(@"无网络连接"); }}/** 判断是否为wifi */- (BOOL)isWifi{ Reachability *wifi = [Reachability reachabilityForLocalWiFi]; //获取当前的状态 NetworkStatus wifiStatus = wifi.currentReachabilityStatus; if (wifiStatus != NotReachable) { return YES; }else{ return NO; }}/** 判断是否为WAN */- (BOOL)isWan{ Reachability *wan = [Reachability reachabilityForInternetConnection]; NetworkStatus wanStatus = wan.currentReachabilityStatus; if (wanStatus != NotReachable) { return YES; }else{ return NO; }}
2 用 AFNetworking 框架中的 AFNetworkReachabilityManager 实现网络状态监听:
@property (nonatomic, strong) AFNetworkReachabilityManager *mgr;- (void)afnStatus{ self.mgr = [AFNetworkReachabilityManager manager]; [self.mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) { case AFNetworkReachabilityStatusUnknown: NSLog(@"未知原因"); break; case AFNetworkReachabilityStatusNotReachable: NSLog(@"无网络连接"); break; case AFNetworkReachabilityStatusReachableViaWiFi: NSLog(@"WIFI"); break; case AFNetworkReachabilityStatusReachableViaWWAN: NSLog(@"WAN"); break; default: break; } }]; [self.mgr startMonitoring];}- (void)dealloc{ [self.mgr stopMonitoring];}
0 0
- iphone网络状态监测
- 网络状态的监测
- iOS - 监测网络状态
- 网络状态的监测
- 监测网络状态
- NSURLCache、网络监测状态
- iOS-监测网络状态
- 93 网络状态监测
- AFN监测网络状态
- 监测网络状态
- 网络状态监测
- IOS 监测网络状态
- iOS - 监测网络状态
- ios 监测网络状态
- iOS监测网络状态
- 实时监测网络状态
- 网络状态实时监测
- 网络状态监测Reachability
- 四大内部类
- leetcode——Isomorphic Strings
- 领域建模有很多种方法,对于同样的问题域使用不同的建模手段得到的模型可能也不尽相同。于是我经常听到这样一个问题:怎么才能保证建模的正确性?
- 用NSJSONSerialization解析NSURLSession中的json数据
- 我的linux命令笔记
- 网络状态监测
- 解决js中onkeydown事件键盘控制div移动鼠标卡顿
- nyoj 276 比较字母大小
- 速度追踪--VelocityTracker
- android版ape,flac,wav,mp3播放器
- 符号执行工具KLEE安装
- 【算法导论学习-31】分治法解决同一个数连乘问题
- 实现函数 functionFunction,调用之后满足如下条件: 1、返回值为一个函数 f 2、调用返回的函数 f,返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格,即 ', ' 3、所
- Unity5-ABSystem(四):AssetBundle依赖