Cancel UILocalNotification

后端 未结 10 959
余生分开走
余生分开走 2020-11-27 12:53

I have a problem with my UILocalNotification.

I am scheduling the notification with my method.

- (void) sendNewNoteLocalReminder:(NSDate *)date  a         


        
10条回答
  •  一个人的身影
    2020-11-27 13:45

    My solution is to use the UILocalNotification userInfo dictionary. In fact what I do is to generate a unique ID for each of my notifications (of course this ID is something I'm able to retrieve later), then when I want to cancel the notification associated to a given ID I will simply scan all available notifications using the array:

    [[UIApplication sharedApplication] scheduledLocalNotifications]
    

    and then I try to match the notifications by investigating the ID. E.g.:

    
    NSString *myIDToCancel = @"some_id_to_cancel";
    UILocalNotification *notificationToCancel=nil;
    for(UILocalNotification *aNotif in [[UIApplication sharedApplication] scheduledLocalNotifications]) {
      if([[aNotif.userInfo objectForKey:@"ID"] isEqualToString:myIDToCancel]) {
         notificationToCancel=aNotif;
         break;
      }
    }
    if(notificationToCancel) [[UIApplication sharedApplication] cancelLocalNotification:notificationToCancel];
    

    I don't know if this approach is better or not with respect to the Archiving/Unarchving one, however it works and limits data to be saved to just an ID.

    Edit: there was a missing braket

提交回复
热议问题