如何使用可访问性在运行时检查Internet连接的网络连接更改?

问题描述 投票:2回答:1

我正在使用this lib来检查Reachability

以下是我的示例代码:

override func viewWillAppear(_ animated: Bool) {
    let reachability = Reachability()!
    NotificationCenter.default.addObserver(self, selector: #selector(reachabilityChanged(note:)), name: .reachabilityChanged, object: reachability)
    do{
        try reachability.startNotifier()
    }catch{
        print("could not start reachability notifier")
    }
    getUserDetail()
}
@objc func reachabilityChanged(note: Notification) {
    let reachability = note.object as! Reachability
    switch reachability.connection {
    case .wifi:
        internetConnectionView.isHidden = true
    case .cellular:
        internetConnectionView.isHidden = true
    case .none:
        internetConnectionView.isHidden = false
    }
}

但是当我在运行时打开和关闭wifi时,我无法实现这一点。

我不知道我错过了什么。

Here是我的示例项目。

swift reachability
1个回答
2
投票

面对同样的问题,要解决它你需要申报

let reachability = Reachability()!

viewWillAppear函数之外,您的代码将如下所示:

let reachability = Reachability()!

override func viewWillAppear(_ animated: Bool) {

    NotificationCenter.default.addObserver(self, selector: #selector(reachabilityChanged(note:)), name: .reachabilityChanged, object: reachability)
    do{
        try reachability.startNotifier()
    }catch{
        print("could not start reachability notifier")
    }
    getUserDetail()
}
© www.soinside.com 2019 - 2024. All rights reserved.