在开发的时候需要我们去判断用户当前的网络状态来进行操作,比如说下载时需要提示用户当前的网络环境避免过度使用移动流量等
检测网络这里使用的是开源库Reachability.swift-master
下载之后只需要将这个文件导入到项目目录中即可
import UIKit
class ViewController: UIViewController {
//为当前视图控制器添加一个网络检测属性
var reachability : Reachability!
override func viewDidLoad() {
super.viewDidLoad()
//对网络检测属性进行初始化
reachability = Reachability()
//调用网络检测方法 判断当前设备的网络情况
reachability.whenReachable = {
//获得网络状态之后返回主线程反应
reachability in DispatchQueue.main.async {
//如果当前为无线网络
if reachability.connection == .wifi{
print("无线网络")
}else{
print("3G 4G ")
}
}
}
reachability.whenUnreachable = {
reachability in DispatchQueue.main.async {
print("无网络连接")
}
}
//检测网络的状态
do {
try reachability.startNotifier()
} catch {
print("Unable to start notifier")
}
}
//在视图控制器类的西沟方法中 停止网络状态的检测
deinit {
reachability.stopNotifier()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}