如何获取特定通知计数

时间:2016-12-20 08:13:56

标签: ios objective-c notifications uilocalnotification

我有三类UILocalNotification - 每周日,周一和周六通知。

如何获取特定通知,即星期一触发的计数。 我有通知UILocalNotification(不是远程或推送通知)。

如何计算在两个月内触发的星期一通知?

注意:没有推送或远程通知的范围。

1 个答案:

答案 0 :(得分:2)

你必须手动管理它,我建议的方法是使用AppDelegate的didReceiveLocalNotification方法。实现此操作,然后检查fireDate的{​​{1}}属性。您可以使用以下代码将其解析为一周中的某一天:

UILocalNotificationObject

然后,您可以根据您拥有的号码将此值增加到int dayOfWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:notification.fireDate]; 。 1将是星期一,2星期二等...

NSUserDefaults

通过这种方式,您的long dayOfWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:notification.fireDate]; long currentCount = [[NSUserDefaults standardUserDefaults] integerForKey:[NSString stringWithFormat:@"weekdayNotificationCount_%ld", dayOfWeek]]; [[NSUserDefaults standardUserDefaults] setInteger:currentCount + 1 forKey:[NSString stringWithFormat:@"weekdayNotificationCount_%ld", dayOfWeek]]; 中将始终存储一个运行总计,并且只有在删除应用时才会消失。