Как проверить изменения сетевого подключения для подключения к Интернету во время выполнения с Reachability? - PullRequest
2 голосов
/ 08 марта 2019

Я использую этот lib для проверки доступности

И ниже мой пример кода:

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
    }
}

Но я не могу этого добиться, когда я включаю и выключаю Wi-Fi во время выполнения.

Я не знаю, что мне не хватает.

Здесь - мой пример проекта.

1 Ответ

2 голосов
/ 08 марта 2019

Столкнулся с той же проблемой прежде, для ее решения вам нужно объявить

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()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...