Иногда, когда приложение, над которым я работаю, выходит из режима приостановки, мне нужно убедиться, что оно не отвечает на уведомления, которые iOS сохранила для него, пока приложение было приостановлено. Где правильно выполнить эту отмену, чтобы я мог быть уверен, что мой код ответа не сработает?
Я надеюсь, что установка removeObserver is applicationWillEnterForeground поможет, но я ничего не нашел об этом в документе NSNotification.
Изменить: позвольте мне добавить детали сценария:
Приложение, над которым я работаю, проверяет изменения в событиях календаря в течение следующих 7 дней. Он обновляет свои данные (запрашивает eventStore) два раза: 1. Когда приходит NSNotification из календаря iPhone об изменениях. 2. В первый раз приложение может в новый день, потому что диапазон 7 дней изменился.
Проблема проектирования, с которой я сталкиваюсь, - это случай, когда оба сценария верны одновременно (приложение возвращается после приостановки, и это новый день, и события календаря были изменены, пока приложение было приостановлено). В этом случае я хочу запросить хранилище событий только один раз. Моя идея состоит в том, чтобы в applicationWillEnterForeground, в случае, если это первый запуск дня, указать приложению игнорировать или удалять любые уведомления. У меня складывается впечатление, что мои предположения о том, как NSNotifications будут работать в этом случае, могут быть ошибочными. Любое руководство было бы здорово!