是否可以在 iPhone 中更新本地通知
Posted
技术标签:
【中文标题】是否可以在 iPhone 中更新本地通知【英文标题】:Is it possible to update the local notification in iPhone 【发布时间】:2012-11-29 07:19:09 【问题描述】:我以编程方式添加了一个本地通知,如下所示:
UILocalNotification *eventLocalNotification=[[UILocalNotification alloc]init];
eventLocalNotification.fireDate=myDate;
eventLocalNotification.timeZone=[NSTimeZone defaultTimeZone];
eventLocalNotification.alertBody=@"My notification";
eventLocalNotification.soundName=UILocalNotificationDefaultSoundName;
我可以更改 fireDate、timeZone、alertBody 或任何其他属性吗?
【问题讨论】:
可能重复***.com/questions/3842252/… 是的!但不幸的是,我无法回答这个问题。而且它对我帮助不大。 【参考方案1】:在互联网上搜索了很多之后,我得到了一个我们无法 edit
添加 UILocal 通知的东西。但是我肯定还有另一种方法。
-
获取您设备的所有本地通知。
搜索相应的本地通知
取消该通知
新建一个
下面是添加通知的方法。
-(void)setLocalNotification
UILocalNotification *eventLocalNotification = [[UILocalNotification alloc]init];
eventLocalNotification.fireDate = //set firing Date of NSDate type
eventLocalNotification.timeZone = [NSTimeZone defaultTimeZone];
eventLocalNotification.alertBody = [NSString stringWithFormat:@"An event has arrived\n Event Name: %@",notificationName.Text];
eventLocalNotification.soundName = UILocalNotificationDefaultSoundName;
if ([repeat isEqualToString:@"Once"])
eventLocalNotification.repeatInterval = 0;
else if ([repeat isEqualToString:@"Daily"])
eventLocalNotification.repeatInterval = NSDayCalendarUnit;
else if ([repeat isEqualToString:@"Weekly"])
eventLocalNotification.repeatInterval = NSWeekCalendarUnit;
else if ([repeat isEqualToString:@"Monthly"])
eventLocalNotification.repeatInterval = NSMonthCalendarUnit;
else if ([repeat isEqualToString:@"Yearly"])
eventLocalNotification.repeatInterval = NSYearCalendarUnit;
NSDictionary *info = [NSDictionary dictionaryWithObject:[NSString stringWithFormat:@"%@",notificationName.text] forKey:@"name"];
eventLocalNotification.userInfo = info;
NSLog(@"notification userInfo gets name : %@",[info objectForKey:@"name"]);
[[UIApplication sharedApplication] scheduleLocalNotification:eventLocalNotification];
NSLog(@"Notification created");
下面是取消通知的功能
-(void)cancelLocalNotification
UILocalNotification * notificationToCancel=nil;
for(UILocalNotification * aNotif in [[UIApplication sharedApplication] scheduledLocalNotifications])
NSLog(@"%@",[aNotif.userInfo objectForKey:@"name"]);
if([[aNotif.userInfo objectForKey:@"name"] isEqualToString:notificationName ])
notificationToCancel = aNotif;
[[UIApplication sharedApplication] cancelLocalNotification:notificationToCancel];
NSLog(@"Notification Cancelled");
break;
希望您能从中受益。祝你好运
【讨论】:
太好了,你帮了我很多忙【参考方案2】:要设置日期和时间,您必须使用 NSDateComponents 并实例化 NSDate 两次。一个用于当前日期,另一个将是您想要的日期。比将所需的 NSDate 实例设置为 UILocalNotification 对象的 fireDate。
eventLocalNotification.fireDate = desiredDate;
对于时区,保持默认设置。
eventLocalNotification.timeZone = [NSTimeZone defaultTimeZone];
警报正文可以是任何内容,只需输入您的上下文即可。
eventLocalNotification.alertBody = @"DESIRED CONTEXT";
【讨论】:
对不起兄弟,这不是我想要的 您到底在寻找什么? 我认为我的问题很清楚,无论如何,我已经添加了一个通知。现在我想编辑它。以上是关于是否可以在 iPhone 中更新本地通知的主要内容,如果未能解决你的问题,请参考以下文章