实时检测网络状态
1. 创建全局NetworkReachabilityManager对象
let newsHomeNetworkReachabilityManager = NetworkReachabilityManager(host: "http://www.baidu.com")
2. 开启网络监控
newsHomeNetworkReachabilityManager?.startListening()
3. 监听网络变化
newsHomeNetworkReachabilityManager?.listener = { state in
switch state {
case .unknown:
LCZProgressHUD.showError(title: "似乎与网络断开了连接!")
break
case .notReachable:
LCZProgressHUD.showError(title: "似乎与网络断开了连接!")
break
case .reachable(_):
break
}
}
4. 不需要时停止监控
newsHomeNetworkReachabilityManager?.stopListening()
5. 其它常用属性
open var isReachable: Bool // 当前网络是蜂窝网络或者是WiFi连接
open var isReachableOnWWAN: Bool // 当前网络是通过蜂窝网络连接
open var isReachableOnEthernetOrWiFi: Bool // 当前网络是通过WiFi网络连接
open var networkReachabilityStatus: NetworkReachabilityStatus // 当前网络状态
网友评论