- 获取AFNetworkReachabilityManager对象
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
- 添加网络状态改变的监听
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
if (status == AFNetworkReachabilityStatusUnknown){
NSLog(@"未知网络");
switch (status) {
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"无网络");
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"WiFi网络");
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"无线网络");
break;
default:
break;
}
}
}];
- 开始监听网络状态
[manager startMonitoring];
-
补充,通过AFN添加网络状态指示器:
在AppDelegate中导入头文件:
#import "AFNetworkActivityIndicatorManager.h"
在程序加载完成中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[AFNetworkActivityIndicatorManager sharedManager].enabled = YES;
return YES;
}
设置网络指示器:
1.使用AFN下载图片太大,有可能不会缓存
2. AFN使用的是系统默认的缓存方案
3.SDWebImage默认是不带网络指示器功能的,同类框架中YYWebImage是支持网络指示器功能的