AFNetWorking 监听网络连接的状态
来源:互联网 发布:决战武林神兵进阶数据 编辑:程序博客网 时间:2024/04/25 09:00
</pre>在AFNetWorking中有找到AFNetworkReachabilityManager文件,这个文件中处理的都是很网络状态有关的。<p></p><p>其中有一个AFPostReachabilityStatusChange方法,这个方法每次网络状态发生改变时都会调用,所以我在这个方法中发送一个通知,接收到通知后可以根据网络状态判断。</p><p>下面是部分代码</p><p>首先是AFNetworkReachabilityManager文件中:</p><p></p><pre name="code" class="objc">static void AFPostReachabilityStatusChange(SCNetworkReachabilityFlags flags, AFNetworkReachabilityStatusBlock block) { AFNetworkReachabilityStatus status = AFNetworkReachabilityStatusForFlags(flags); dispatch_async(dispatch_get_main_queue(), ^{ if (block) { block(status); } NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; NSDictionary *userInfo = @{ AFNetworkingReachabilityNotificationStatusItem: @(status) }; [notificationCenter postNotificationName:AFNetworkingReachabilityDidChangeNotification object:nil userInfo:userInfo];#warning 网络状态发生改变通知,全局监控网络 [notificationCenter postNotificationName:@"networking_monitoring_notification" object:nil userInfo:nil]; });}
通知的接收者写在了AppDelegate的didFinishLaunchingWithOptions中
- (void)netWorkMonitoring{ NSURL *baseURL = [NSURL URLWithString:@"http://baidu.com/"]; manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL]; //开始监控 [manager.reachabilityManager startMonitoring]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged) name:NETWORKING_MONITORING_NOTIFICATION object:nil];}- (void)reachabilityChanged{ NSOperationQueue *operationQueue = manager.operationQueue; [manager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) { case AFNetworkReachabilityStatusReachableViaWWAN: case AFNetworkReachabilityStatusReachableViaWiFi: [operationQueue setSuspended:NO]; NSLog(@"----------网络已连接--------"); break; case AFNetworkReachabilityStatusNotReachable: NSLog(@"------------网络未连接--------"); default: [operationQueue setSuspended:YES]; break; } }];}
0 0
- AFNetWorking 监听网络连接的状态
- AFNetworking的网络状态监听
- AFNetWorking监听网络状态
- Swift3.0 通过AFNetworking监听判断网络连接状态
- 利用AFNetworking监听网络状态
- iOS AFNetWorking监听网络状态
- 网络连接状态监听
- IOS--利用AFNetworking监听网络状态
- IOS-利用AFNetworking监听网络状态
- android 监听网络连接状态的改变
- 监听手机的网络连接状态
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- 网络连接状态的监听和判断
- android 监听网络连接状态的改变
- android 监听网络连接状态的变化
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- tomcat启动内存溢出解决方法
- UIScrollerView基础
- xshell如何使用ssh连接远程
- Autolayout示例2-Masonry实现
- Xshell使用教程及WinSCP使用教程
- AFNetWorking 监听网络连接的状态
- datetimepicker-bootstrap默认年份1899修改问题
- linux下使用swig让python调用C++(复杂版:包括多文件调用和链接库)
- 什么是实时应用程序自我保护(RASP)?
- HibernateException: Could not obtain transaction-synchronized Session for current thread
- Linux指令--mkdir
- 深入理解PHP7之zval
- Linux下更改目录及其下的子目录和文件的访问权限
- Windows 10下Markdown不能显示预览