我正在使用 Reachability.swift 来监控连接。但是,答案总是延迟 1 步。下面是代码片段:
override func viewWillAppear(_ animated: Bool) {
NotificationCenter.default.addObserver(self, selector: #selector(self.reachabilityChanged(note:)), name: .reachabilityChanged, object: self.reachability)
do{
try self.reachability.startNotifier()
}catch{
print("could not start reachability notifier")
}
}
@objc func reachabilityChanged(note: Notification) {
let reachability = note.object as! Reachability
switch reachability.connection {
case .wifi:
print("Reachable via WiFi")
case .cellular:
print("Reachable via Cellular")
case .unavailable:
print("Network not reachable")
}
}
当我运行应用程序时 - 我得到“可通过 WiFi 访问”
当我断开连接时 - 我什么也没得到,尽管我希望收到:“网络无法访问”
当我重新打开连接时,我希望得到:“可通过 WiFi 访问”,但我得到:“网络无法访问”
似乎我收到消息延迟了 1 步,这是怎么回事?
ps 只有模拟器有这个问题,但在设备上运行良好。