Не работает viewWillAppear подскажите что делаю не так


#1

Добрый день.
Прошу помощи, т.к. не могу сам понять в чем проблема(
Вопрос в следующем - есть view в котором выводится имя текущий wifi точки доступа, и есть кнопка, которая ведет в настройки wifi для изменения подключения.

Так вот проблема в том, что при возвращении с экрана настроек никак не получается получить имя нового подключения((

собственно вот методы.
при возвращении на экран, даже принт не отрабатывает

        // переход на окно настроек WiFi
@IBAction func goWifiSettings(_ sender: Any) {
    // открываем окно настроек wifi
    guard let profileUrl = URL(string: "App-Prefs:root=WIFI") else { return }
    if UIApplication.shared.canOpenURL(profileUrl) {
        UIApplication.shared.open(profileUrl, completionHandler: { (success) in
            print(" Wifi Settings opened: \(success)")
        })
    }
}

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        print("wifi edited")
        wifiNameLabel.text = getWifiSsid()!
    }

Помогите пожалуйста.


#2

Так у вас экран не уходит с поля зрения, следовательно, viewWillAppear не будет вызываться.
Вам нужно отслеживать появление приложения.


#3

Спасибо) Вопрос решен)
Спустя несколько часов копания не туда нашел уведомляшку

// отслеживаем возвращение с экрана настроек
    NotificationCenter.default.addObserver(self, selector: #selector(self.viewWillAppear(_:)), name: .UIApplicationWillEnterForeground , object: nil)