通常在APP的某些界面,需要通过网络获取数据更新界面。应用程序通过建立网络状态监听,当网络从断开变为连接状态后,自动刷新页面数据,因此不需要用户手动刷新页面,提升了产品的用户体验。
在github地址:https://github.com/tonymillion/Reachability下载Reachability.h和Reachability.m文件,并将文件导入到工程。
一、包含头文件
#import "Reachability.h"
同时在ViewContorller中添加实例变量:Reachability *_networkConn;
二、建立网络变化监听
网络变化包括从断开变为连接、连接变为断开两种情况,任意一种情况发生,app都会收到网络变化通知。 在viewDidLoad方法中添加如下代码:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStatusChange:) name:kReachabilityChangedNotification object:nil];
_networkConn = [Reachability reachabilityForInternetConnection];
[_networkConn startNotifier];
三、网络状态变化响应
- (void)networkStatusChange:(NSNotification *)notification
{
Reachability *reachability = (Reachability *)notification.object;
NetworkStatus status = reachability.currentReachabilityStatus;
switch (status) {
case NotReachable:
NSLog(@"未连接网络");
break;
case ReachableViaWiFi:
NSLog(@"wifi网络连接");
break;
case ReachableViaWWAN:
NSLog(@"蜂窝网络连接");
break;
default:
break;
}
}