我有三类UILocalNotification
- 每周日,周一和周六通知。
如何获取特定通知,即星期一触发的计数。
我有通知UILocalNotification
(不是远程或推送通知)。
如何计算在两个月内触发的星期一通知?
注意:没有推送或远程通知的范围。
答案 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]];
中将始终存储一个运行总计,并且只有在删除应用时才会消失。