AFNetworkReachabilityManager 网络状
2018-06-21 本文已影响0人
米亚流年
常规的做法是程序一启动的时候就开启网络监控
在AppDelegate.m文件中增加如下代码
//1.开始监控网络状况
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
在需要判断网络是哪种状态(手机网络,WiFi,没有网)增加如下代码
//根据网络状态来加载图片
AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];
//获得原图(大图) (SDImageCache的图片缓存是用图片的url字符串作为key)
UIImage *originImage= [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:topic.image1];
if (originImage) {
self.imageView.image = originImage;
}else{
if (mgr.isReachableViaWiFi) {//wifi环境
[self.imageView sd_setImageWithURL:[NSURL URLWithString:topic.image1]];
}else if (mgr.isReachableViaWWAN){//手机自带网络
[self.imageView sd_setImageWithURL:[NSURL URLWithString:topic.image]];
}else {//没有网络 必须要清空 不然的话 是会出现循环引用的问题 这个cell显示别的cell的图片
self.imageView.image = nil;
}
}