我正在使用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切换到蜂窝网络时,这不起作用。
请帮帮我:
问候!