Как Вы получаете максимальную возможную дату в Oracle?

Лучше послушать 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)
}

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

23
задан Glenn Wark 26 March 2009 в 20:51
поделиться

4 ответа

SELECT  TO_DATE('31.12.9999 23:59:59', 'dd.mm.yyyy hh24:mi:ss')
FROM    dual

Обратите внимание, что минимальная дата намного более проста:

SELECT  TO_DATE(1, 'J')
FROM    dual
31
ответ дан 29 November 2019 в 01:58
поделиться

Из 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

7
ответ дан 29 November 2019 в 01:58
поделиться

Я не знаю о функции, но в соответствии с этой статьей:

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.

2
ответ дан 29 November 2019 в 01:58
поделиться

Другой пути, только для забавы:

SELECT to_date(5373484, 'J') + (1 - 1/24/60/60)
  FROM dual;

SELECT date '9999-12-31' + (1 - 1/24/60/60) 
  FROM dual;
2
ответ дан 29 November 2019 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: