Отслеживание изменений

swift

#1

Всем доброго времени суток.
Прошу помочь с решением такой задачи, либо подскажите направление, в котором следует копать:
Суть программы такова, что она должна следить за изменением статуса зарядки телефона (стоит на зарядке/ отключен от зарядки).
Как сделать так, чтобы эти изменения отслеживались и я мог эти изменения выводить.
Сейчас приложение может показать статус зарядки телефона, но если телефона отключается от зарядки, то статус не меняется…он меняется, только после перезапуска приложения.


#2

Все предельно просто! Вам нужно подписаться на на изменение :

NotificationCenter.default.addObserver(self, selector: "yourFunc:", name: .UIDeviceBatteryStateDidChange, object: nil)

Вставите это в код, нажмете кнопку command и нажмете на UIDeviceBatteryStateDidChange и увидите какие еще вам доступны события!


#3

Благодарю! Сейчас буду разбираться


#4

возникает новая проблема в том, что при изменения статуса зарядки (отключаю зарядку/ подкачаю зарядку) - приложение сворачивается
Этого можно избежать?


#5

Вот сейчас не понял… а какие действия у вас прописаны в функции которая вызывается при нотификации?


#6

Я начинающий…прошу прощения за такие вопросы, но я, к сожалению, не понял Вашего вопроса. Я приложил скрин, если у Вас будет время, взгляните в чем тут ошибка моя…


#7

Давайте тогда я вам укажу в какую сторону двигаться!
Значит вам нужно сейчас почитать как работает селектор в swift!это есть в документации!
Теперь по поводу той строчки что я скинул, она дословно будет звучать как-то так
Мы обращаемся к дефолтному нотификейшен центру, вызываем у него метод добавит слушателя(self говорит о том, что этим слушателем будет тот контроллер в котором мы это указали),когда произойдёт событие то будет вызвана функция которую мы укажем в селекторе, а в параметре имя мы указываем имя вот как раз той нотифифкации которая нам нужна!


#8

Спасибо огромное, что уделили время!! Хорошо, я понял на что мне обратить внимание