【发布时间】:2016-12-20 08:13:55
【问题描述】:
我有三个类别的UILocalNotification - 每周日、周一和周六通知。
如何获取特定通知,即星期一触发的计数。
我有一个通知UILocalNotification(不是远程通知或推送通知)。
如何获取两个月内触发的星期一通知的计数?
注意:没有推送或远程通知的范围。
【问题讨论】:
标签: ios objective-c notifications uilocalnotification
我有三个类别的UILocalNotification - 每周日、周一和周六通知。
如何获取特定通知,即星期一触发的计数。
我有一个通知UILocalNotification(不是远程通知或推送通知)。
如何获取两个月内触发的星期一通知的计数?
注意:没有推送或远程通知的范围。
【问题讨论】:
标签: ios objective-c notifications uilocalnotification
您必须手动管理它,我建议这样做的方式是利用 AppDelegate 的 didReceiveLocalNotification 方法。实现这一点,然后检查UILocalNotificationObject 的fireDate 属性。您可以使用以下代码将其解析为一周中的某一天:
int dayOfWeek = [[NSCalendar currentCalendar] component:NSCalendarUnitWeekday fromDate:notification.fireDate];
然后您可以根据您拥有的数字将该值存储在NSUserDefaults 中。 1 是星期一,2 是星期二,以此类推...
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]];
这样一来,您的NSUserDefaults 中将始终存储一个运行总计,并且只有在删除该应用后才会消失。
【讨论】: