如何在ios sdk中识别特定通知

lar*_*435 12 ios uilocalnotification

实际上我正在开发一个警报项目,现在我对本地通知有疑问.我如何识别特定通知.我们甚至无法将标签设置为本地通知,那么我如何区分它们.

例:

通知: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];
Run Code Online (Sandbox Code Playgroud)

通知: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];
Run Code Online (Sandbox Code Playgroud)

现在我在情况下删除第二个通知我该怎么办...请帮助我..提前感谢..

Rad*_*dix 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];


        }

根据您的方便放置上面的代码