0

有时,当我正在处理的应用程序退出暂停模式时,我需要确保它不会响应 iOS 在应用程序暂停时为其保存的通知。在哪里可以确定我的响应代码不会运行?

我希望将 removeObserver 放置为 applicationWillEnterForeground 可以解决问题,但我在 NSNotification 文档中找不到任何关于此的内容。

编辑:让我添加场景的详细信息:

我正在开发的应用程序会检查未来 7 天范围内日历事件的更改。它会在两次刷新它的数据(请求 eventStore): 1. 当 NSNotification 来自 iPhone 日历关于更改时。2.应用程序第一次能够在新的一天,因为7天的范围已经改变。

我遇到的设计挑战是两种情况同时为真(应用程序从暂停状态返回,这是新的一天,并且在应用程序暂停时修改了日历事件)。在这种情况下,我只想重新查询一次事件存储。我的想法是,在 applicationWillEnterForeground 中,如果这是当天的第一次发布,请告诉应用程序忽略或删除任何通知。我的印象是,我对 NSNotifications 在这种情况下如何工作的假设可能不正确。任何指导都会很棒!

4

2 回答 2

0

为什么不从通知中心移除观察者-applicationDidEnterBackground:呢?

然后您可以在 中再次开始观察-applicationWillEnterForeground:

于 2011-11-04T14:36:51.813 回答
0

当你被暂停时,什么 NSNotifications 进来了?您正在运行后台任务吗?

我真的想不出不响应 NSNotification 是个好主意的情况。它们实际上是与其他任何消息一样的消息,只是具有不同的路由机制。

UILocalNotification 将是一个不同的问题。

于 2011-11-04T16:55:08.053 回答