1.在.h中創建不同網絡狀態的枚舉,
typedef NS_ENUM(NSInteger, DDNetworkReachabilityStatus) {
DDNetworkReachabilityStatusUnknown = -1,
DDNetworkReachabilityStatusNotReachable = 0,
DDNetworkReachabilityStatusReachableViaWWAN = 1,
DDNetworkReachabilityStatusReachableViaWiFi = 2,
};
2.創建一個全局記錄者
@property (nonatomic, assign) DDNetworkReachabilityStatus status;
3.初始化監聽方法
- (void)initChangeValues {
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusReachableViaWWAN: {
self.status = DDNetworkReachabilityStatusReachableViaWWAN;
[self _callAllStatusChangeBlockValue:DDNetworkReachabilityStatusReachableViaWWAN];
} break;
case AFNetworkReachabilityStatusReachableViaWiFi: {
self.status = DDNetworkReachabilityStatusReachableViaWiFi;
[self _callAllStatusChangeBlockValue:DDNetworkReachabilityStatusReachableViaWiFi];
} break;
case AFNetworkReachabilityStatusNotReachable: {
self.status = DDNetworkReachabilityStatusNotReachable;
[self _callAllStatusChangeBlockValue:DDNetworkReachabilityStatusNotReachable];
} break;
case AFNetworkReachabilityStatusUnknown: {
self.status = DDNetworkReachabilityStatusUnknown;
[self _callAllStatusChangeBlockValue:DDNetworkReachabilityStatusUnknown];
} break;
}
}];
[[AFNetworkReachabilityManager sharedManager] startMonitoring];//開始監聽
}
- (NSString *)networkInfoWithStatus {
DDNetworkReachabilityStatus status = self.status;
if (status == DDNetworkReachabilityStatusUnknown || status == DDNetworkReachabilityStatusNotReachable) {
return @"無網絡";
} else if (status == DDNetworkReachabilityStatusReachableViaWiFi) {
return @"wifi";
} else if (status == DDNetworkReachabilityStatusReachableViaWWAN) {
return @"mobile";
}
return @"";
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。