gpt4 book ai didi

iphone - 只让本地通知出现一次

转载 作者:行者123 更新时间:2023-12-01 18:26:34 25 4
gpt4 key购买 nike

我有一个大问题!我的问题是,我已经在我的委托(delegate)中实现了本地通知代码。我已将此代码放入 didEnterBackround 方法中。但是,我为每个 didEnterBackround 获得了一个本地通知。如果最新的通知消失了,是否有可能只启动一个新的通知触发?就像我有一个 5 天后触发的 localnotifi 一样。当我打开和关闭应用程序 5 次并等待 5 天时,我会收到 5 个本地通知。是否有可能让应用程序只创建一个启动,然后出现一个新的启动?!

我的代码:

NSCalendar  *calender = [NSCalendar autoupdatingCurrentCalendar];
NSDate *currentDate = [NSDate date];

NSDateComponents *dateComponents = [calender components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:currentDate];

NSDateComponents *timeComponents = [calender components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:currentDate];

NSDateComponents *temp = [[NSDateComponents alloc]init];

[temp setYear:[dateComponents year]];
[temp setMonth:[dateComponents month]];
[temp setDay:[dateComponents day]];
[temp setHour:[timeComponents hour]];
[temp setMinute:[timeComponents minute]];
[temp setSecond:[timeComponents second] +10];

NSDate *fireTime = [calender dateFromComponents:temp];


UILocalNotification *localN = [[UILocalNotification alloc]init];
localN.fireDate = fireTime;
localN.timeZone = [NSTimeZone defaultTimeZone];


localN.alertBody = @"BLA BLA BLA!";
localN.alertAction = @"GO BACK";


localN.applicationIconBadgeNumber = 1;


[[UIApplication sharedApplication] scheduleLocalNotification:localN];

最佳答案

您可以取消所有预定的通知:

[[UIApplication sharedApplication] cancelAllLocalNotifications];

如果您不想删除所有已安排的通知(也许您还有其他安排),请查看 cancelLocalNotification:它只允许您取消一个实例。

关于iphone - 只让本地通知出现一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13204419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com