iOS swift 4为任何类的网络连接状态添加通知侦听器

时间:2018-05-02 09:59:01

标签: ios swift reachability network-connection reachability-swift

我正在使用ashleymills/Reachability.swift来检查网络连接状态。当我在viewWillAppear方法中的特定类中使用它时,它工作得很好。 但是目前我有40多个类,我认为我不需要在每个类中实现通知监听器。 所以,我一直试图在AppDelegate的{​​{1}}方法中运行它。我尝试了一个课程,比如,如果我有一个名为 DashboardVC 的课程,我写道:

application didFinishLaunchingWithOptions

reachabilityDidChange(通知:) 功能:

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
}

但当 DashboardVC 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") } } 时,当我打开/关闭互联网连接或从wifi切换到蜂窝网络时,这不起作用。 请帮帮我:

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

0 个答案:

没有答案