实际上正在开发一个警报项目, 现在我对本地通知有疑问。我如何识别特定通知。 我们甚至无法将标签设置为本地通知,那么我如何区分它们。
示例:
通知:1
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = selectedDate;
localNotification.alertBody = @"you got work";
localNotification.alertAction = @"Snooze";
localNotification.repeatInterval = NSDayCalendarUnit;
localNotification.soundName = UILocalNotificationDefaultSoundName;
NSDictionary *infoDict = [NSDictionary dictionaryWithObjectsAndKeys:@"setNotificationForEveryDay", @"key", nil];
localNotification.userInfo = infoDict;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
[localNotification release];
通知:2,
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = another selectedDate;
localNotification.alertBody = @"i got work";
localNotification.alertAction = @"Snooze";
localNotification.repeatInterval = NSDayCalendarUnit;
localNotification.soundName = UILocalNotificationDefaultSoundName;
NSDictionary *infoDict = [NSDictionary dictionaryWithObjectsAndKeys:@"setNotificationForEveryDay", @"key", nil];
localNotification.userInfo = infoDict;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
[localNotification release];
现在我情况要删除第二个通知我该怎么办... 请帮我.. 提前谢谢..
答案 0 :(得分:8)
我的猜测是使用userInfo来区分本地通知,这是一个更好的想法,但是你需要设置本地通知的userInfo。
就像你可以做这样的事情
if ([Your_notification_Object.userInfo valueForKey:@"Key 1"]==@"Object 1") { NSLog(@"This is notification 1"); }
现在是你的第二个要求,即对于删除部分,你想删除通知,当它被识别为n1或n2时,那么在这种情况下你可以修改上面的代码并添加这个
if ([Your_notification_Object.userInfo valueForKey:@"Key 1"]==@"Object 1") { NSLog(@"This is notification 1"); [[UIApplication sharedApplication] cancelLocalNotification:Your_notification_Object]; }
根据您的方便放置上述代码