1

我正在使用ashleymills/Reachability.swift检查网络连接状态。当我在方法中的特定类中使用它时viewWillAppear,它工作得很好。但目前我有超过 40 个类,我认为我不需要在每个类中实现通知侦听器。所以,我一直在尝试以AppDelegate'sapplication didFinishLaunchingWithOptions方法运行它。我尝试了一个类,例如,如果我有一个名为DashboardVC的类,我写道:

var reachability = Reachability()!
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let vc = DashboardVC()
Notificationcenter.default.addObserver(vc, selector: #selector(reachabilityDidChange(notification:)), name: .reachabilityChanged, object: nil)
return true
}

以及reachabilityDidChange(notification:)函数:

func reachabilityDidChange(notification: Notification) {

let reachability1 = notification.object as! Reachability  
switch reachability1.connection {  
case .wifi:      
   print("Reachable via WiFi")  
case .cellular:      
   print("Reachable via Cellular")  
case .none:    
   print("Network not reachable")  }
}

但是当我在DashboardVCtopmostViewController. 请帮我:

  1. 如果有办法通过ashleymills/Reachability.swift实现我的目标
  2. 如果有办法在没有ashleymills/Reachability.swift的情况下实现这一目标
  3. 如果有任何其他方法可以跟踪网络连接状态

问候!

4

0 回答 0