(Swift)实时监测网络状态
2021-09-09 本文已影响0人
布呐呐u
一)借助于Alamofire
- 实时性
- 可全局使用
- 面向协议编程思想
二)使用方法
- 常见场景如UIViewController中,遵循"CCNetworkStatusProtocol"协议即可
- 同理UIView、AppDelegate等class中,遵循"CCNetworkStatusProtocol"协议即可
- 通过"isReachable"方法返回值,校验判断即可
class CCViewController: UIViewController, CCNetworkStatusProtocol {
if isReachable() {
print("有网络")
} else {
print("网络不可用")
}
}
三)源码分享
/// 网络状态协议
protocol CCNetworkStatusProtocol {
func isReachable() -> Bool
}
extension CCNetworkStatusProtocol {
/// 返回一个布尔值,用于实时监测网络状态
func isReachable() -> Bool {
var res: Bool = false
let netManager = NetworkReachabilityManager()
if netManager?.status == .reachable(.ethernetOrWiFi) || netManager?.status == .reachable(.cellular) { res = true }
return res
}
}