Zaktualizuj datę pożaru dla lokalnego powiadomienia i anuluj poprzednie powiadomienie
Wiem, że jest kilka pytańtutaj itam w jaki sposób usunąć lokalne powiadomienie, które może być wszystkim lub określonym powiadomieniemodwołanie do klasy lokalnego powiadomienia i znalazłem kilka metod, takich jak czas powtarzania, data pożaru, ciało alarmowe, strefa czasowa itd ... ale nie jestem w stanie znaleźć informacji o tym, jak zmodyfikować już ustawioną datę pożaru. powiadomienie z datą dzisiaj i godziną 16:50, ale jeśli użytkownik chce zmienić ustawioną datę / godzinę, powiadomienie jest uruchamiane w obu przypadkach. Co jest błędem w zakresie etyki programowania!
Właściwie to, co chcę, to wcześniejsze powiadomienie musi zostać anulowane, tzn. Data musi zostać zmodyfikowana do edytowanej, a powiadomienie powinno zostać ustawione i zwolnione w nowym dniu.
W ten sposób ustawiam powiadomienie, przykładowy kod:
- (void)setNotification
{
//Set notification after confirmation of saved data
Class cls = NSClassFromString(@"UILocalNotification");
reminderNotification = [[cls alloc] init];
if (cls != nil)
{
NSDateFormatter *dateFormat = [[[NSDateFormatter alloc]init]autorelease];
[dateFormat setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSDate *notificationDate = [dateFormat dateFromString:textField2.text];
reminderNotification.fireDate = notificationDate;
reminderNotification.timeZone = [NSTimeZone defaultTimeZone];
NSString *reminderText = [NSString stringWithFormat:@"%@ 's %@ on %@",textField.text,textField1.text,strDate];
reminderNotification.alertBody = reminderText;
reminderNotification.alertAction = @"View";
reminderNotification.soundName = @"lazy_afternoon.mp3";
reminderNotification.applicationIconBadgeNumber = 1;
NSDictionary *userDict = [NSDictionary dictionaryWithObject:self.textField1.text forKey:kReminder];
reminderNotification.userInfo = userDict;
[[UIApplication sharedApplication] scheduleLocalNotification:reminderNotification];
[reminderNotification release];
}
}
Czy ktoś może poprowadzić mnie właściwą drogą, jak radzić sobie z tym zadaniem.
Z góry dziękuję :)