我的UILocalNotification有问题。

我正在用我的方法安排通知。

- (void) sendNewNoteLocalReminder:(NSDate *)date  alrt:(NSString *)title
{
    // some code ...
    UILocalNotification *localNotif = [[UILocalNotification alloc] init];

    if (localNotif == nil)
        return;

    localNotif.fireDate = itemDate;
    localNotif.timeZone = [NSTimeZone defaultTimeZone];
    localNotif.alertAction = NSLocalizedString(@"View Details", nil);
    localNotif.alertBody = title;
    localNotif.soundName = UILocalNotificationDefaultSoundName;
    localNotif.applicationIconBadgeNumber = 0;

    NSDictionary *infoDict = [NSDictionary dictionaryWithObject:stringID forKey:@"id"];
    localNotif.userInfo = infoDict;

    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
    [localNotif release];
}

它的工作正常,我已正确收到通知。问题是我何时应该取消通知。我正在使用这种方法。
- (void) deleteNewNoteLocalReminder:(NSString*) reminderID noteIDe:(NSInteger)noteIDE
{
    [[UIApplication sharedApplication] cancelLocalNotification:(UILocalNotification *)notification ????
}

我不确定在这里做什么,但我的问题是:

我怎么知道应该删除哪个UILocalNotification对象?
有没有办法列出所有通知?

我唯一拥有的是应该删除其提醒的ID。
我正在考虑将UILocalNotification对象保存在“Note”对象中并以这种方式获取,当我将其保存到SQLite数据库中时,将该对象序列化,依此类推……是否有更聪明的方法?

最佳答案

swift 5:

UNUserNotificationCenter.current().removePendingNotificationRequests(withIdentifiers: arrayContainingIdentifiers)

关于iphone - 取消UILocalNotification,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3158264/

10-12 05:32