每 30 分钟重复间隔有问题
Posted
技术标签:
【中文标题】每 30 分钟重复间隔有问题【英文标题】:Having issue with repeatinterval every 30 minutes 【发布时间】:2012-02-06 15:44:05 【问题描述】:我正在尝试每 30 分钟重复一次本地通知,但我的代码无法正常工作...如果您能帮助我并找到解决方案,我将不胜感激,这是我的代码:
UILocalNotification *reminderNote = [[UILocalNotification alloc]init];
reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 30];
reminderNote.repeatInterval = NSHourCalendarUnit;
reminderNote.alertBody = @"some text";
reminderNote.alertAction = @"View";
reminderNote.soundName = @"sound.aif";
[[UIApplication sharedApplication] scheduleLocalNotification:reminderNote];
【问题讨论】:
【参考方案1】:firedate
设置通知第一次触发的时间,repeatInterval
是通知重复之间的间隔。因此,问题中的代码安排了从现在开始 30 分钟(60 * 30 秒)触发的通知,然后每小时重复一次。
不幸的是,您只能安排通知以 NSCalendar constants 定义的确切间隔重复:例如,每分钟、每小时、每天、每月,但不能以这些间隔的倍数重复。
幸运的是,要每 30 分钟收到一次通知,您只需安排两个通知:一个现在,一个 30 分钟后,并且每小时重复一次。像这样:
UILocalNotification *reminderNote = [[UILocalNotification alloc]init];
reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 30];
reminderNote.repeatInterval = NSHourCalendarUnit;
reminderNote.alertBody = @"some text";
reminderNote.alertAction = @"View";
reminderNote.soundName = @"sound.aif";
[[UIApplication sharedApplication] scheduleLocalNotification:reminderNote];
reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60];
[[UIApplication sharedApplication] scheduleLocalNotification:reminderNote];
【讨论】:
谢谢,大约每 1 小时或 2 或 3 小时我应该这样吗?例如每 1 小时 :reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60]; reminderNote.repeatInterval = NSHourCalendarUnit;
和第二个开火日期 reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60];
每1小时,您只需要安排一个通知。只需将我的答案中的代码去掉,然后去掉最后两行。如有必要,更改fireDate
,使其与您希望通知触发的第一次相对应。
每 2 小时或 3 小时怎么样?这样对吗 ? :reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 2]; [[UIApplication sharedApplication] scheduleLocalNotification:reminderNote];
没有。如果您想每 2(或 3)小时发送一次,则必须安排 12(或 8)个每日通知,它们的初始 fireDates 间隔 2(或 3)小时。请记住,您只能安排每隔一小时或每天(或每分钟、每周等)重复的通知,但这些对您没有用处。要使某些内容有效重复这些单位的倍数,您需要以比您想要的实际间隔长的间隔重复多个通知。跨度>
谢谢@yuji。它真的很有帮助:)以上是关于每 30 分钟重复间隔有问题的主要内容,如果未能解决你的问题,请参考以下文章