Лучше послушать UIApplication.didBecomeActiveNotification
. IOS отправляет это уведомление, когда приложение переходит с фона на передний план.
Вы можете установить обработчик для этого уведомления, например, в методе viewDidLoad
вашего контроллера.
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self,
selector: #selector(handleAppDidBecomeActiveNotification(notification:)),
name: UIApplication.didBecomeActiveNotification,
object: nil)
}
Ваш обработчик будет просто методом в том же контроллере представления для вызова при получении этого уведомления. В этом методе вы можете перезагрузить данные или сделать все, что захотите
@objc func handleAppDidBecomeActiveNotification(notification: Notification) {
reloadData()
}
И, конечно, не забудьте отменить регистрацию для UIApplication.didBecomeActiveNotification
, когда контроллер представления закрыт. Например, в методе deinit
контроллера
deinit {
NotificationCenter.default.removeObserver(self)
}
Таким образом, логика для перезагрузки и то, что запускает перезагрузку, будут запитаны в каждом контроллере представления, и делегат приложения не будет знать об этом лучше.
SELECT TO_DATE('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss')
FROM dual
Обратите внимание, что минимальная дата намного более проста:
SELECT TO_DATE(1, 'J')
FROM dual
Из 11-граммовых документов:
База данных Oracle может сохранить даты в эпоху Julian, в пределах от 1 января, 4712 BCE в течение 31 декабря, 9 999 CE (Наша эра или 'AD').
http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/datatype.htm#i1847
Я не знаю о функции, но в соответствии с этой статьей:
Oracle 7: с 1 января, 4712 до н.э до 31 декабря, 4 712 AD.
Oracle 8: с 1 января, 4712 до н.э до 31 декабря, 9 999 AD.
Oracle 9: с 1 января, 4712 до н.э до 31 декабря, 9 999 AD.
МН / SQL: с 1 января, 4712 до н.э до 31 декабря, 9 999 AD.
Другой пути, только для забавы:
SELECT to_date(5373484, 'J') + (1 - 1/24/60/60)
FROM dual;
SELECT date '9999-12-31' + (1 - 1/24/60/60)
FROM dual;