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