0

我正在使用 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 只有模拟器有这个问题,但在设备上运行良好。

4

0 回答 0