取消重复间隔的UILocalNotification

时间:2015-09-03 01:54:13

标签: ios objective-c uilocalnotification localnotification

我正在以重复间隔进行警报应用。我的问题是,即使用户点击本地通知,返回到应用程序,然后返回到手机的主屏幕,UILocalNotification仍然每分钟都会点火。我知道[[UIApplication sharedApplication] cancelAllLocalNotifications];并将其放入我的viewDidLoad方法中。有什么建议我可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

将它放在viewDidLoad中对某些情况有好处,而不是你的。考虑何时调用viewDidLoad

  

在控制器的视图加载到内存后调用。

换句话说,下次调用它是在你的小ARC朋友从内存中释放它之后。所以,是的,最终会再次调用 cancelAllLocalNotifications,而不是当用户将应用程序放在后台然后将其返回到前台时,因为它仍然在内存中有一个主页;下次特定视图加载到内存时将调用它。

此外,这可能不是好逻辑,因为每个用户都会这样做,即使他们不想取消重复。

最终,你必须创建额外的逻辑来破译哪些用户,例如,使用适合你和你的项目的任何资源点击'贪睡'或'取消'。就个人而言,我会引导您使用基于类别的通知,这样您就可以根据需要取消它,而不是“以防万一”。 See here如何设置它们。