Ios 如何为本地通知添加重复计数或过期日期
当我记录本地通知的描述时Ios 如何为本地通知添加重复计数或过期日期,ios,objective-c,nsdate,Ios,Objective C,Nsdate,当我记录本地通知的描述时 `<UIConcreteLocalNotification: 0x1edd4d40>{fire date = Thursday, September 26, 2013, 11:15:00 AM India Standard Time, time zone = Asia/Kolkata (GMT+05:30) offset 19800, repeat interval = 0, repeat count = UILocalNotificationInfinit
`<UIConcreteLocalNotification: 0x1edd4d40>{fire date = Thursday, September 26, 2013, 11:15:00 AM India Standard Time, time zone = Asia/Kolkata (GMT+05:30) offset 19800, repeat interval = 0, repeat count = UILocalNotificationInfiniteRepeatCount, next fire date = Thursday, September 26, 2013, 11:15:00 AM India Standard Time, user info = {
UID = "38BF41F8-05D3-48E2-A20F-7B84609F4E85";
}}`
`{火灾日期=2013年9月26日星期四,印度标准时间上午11:15:00,时区=亚洲/加尔各答(GMT+05:30)偏移量19800,重复间隔=0,重复计数=UILocalNotificationInfinitereRepeatCount,下次火灾日期=2013年9月26日星期四,印度标准时间上午11:15:00,用户信息={
UID=“38BF41F8-05D3-48E2-A20F-7B84609F4E85”;
}}`
我找到了“重复计数”参数。是否有任何选项可以设置重复计数,以便它将重复此计数和过期的次数此问题中提出了可能的解决方法
但是,正如这所表明的,我认为不可能通过重复计数来区分重复的本地通知。您不能为此设置任何重复计数。但是,您可以在收到通知后通过必要的检查修改fireDate,然后再次安排它
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
localNotif = notification;
int no_of_days = [self getNumberOfDaysToNextAlarmInDays];
int day = 24*60*60;
NSTimeInterval interval = day *no_of_days;
localNotif.fireDate = [NSDate dateWithTimeInterval:interval sinceDate:[NSDate date]];
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
}
-(int)getNumberOfDaysToNextAlarmInDays {
//do the necessary calculations here
return count ;
}
这里的一个小问题是,它仅在调用didReceiveLocalNotification时起作用。您可以将重复计数作为一个数字。当在
Appdelegate
didReceiveLocalNotification
中激发通知时,将调用方法。在该方法中,您可以获得重复计数。在那里,您可以减少重复次数并重新安排通知。如果重复计数为0,则无需重新安排该通知
例如:
if ([[notification.userInfo objectForKey:@"repeat"]intValue] != 0) {
//You can again schedule your notification here with decrementing the repeat count.
}else{
}
//Here you can cancel the current notification
[[UIApplication sharedApplication]cancelLocalNotification:notification];
希望这有帮助:)请解释你想要什么,我可以给你:(询问当重复间隔为NSDaysCalendarUnit时,有可能在一周后取消本地通知吗?