1

我创建了一个旧的 uilocalnotification,现在,我想更新它,我在 Google 上搜索但没有办法更新本地通知。所以,我决定取消它并创建一个新的本地通知:

- (void) cancelLocalNotificationByUserInfo: (NSDictionary *)dictInfo
{
    UIApplication *application = [UIApplication sharedApplication];

    NSArray *notifArr = [application scheduledLocalNotifications];

    for (int i=0; i<notifArr.count; i++) 
    {
        UILocalNotification* theNotif = (UILocalNotification *)[notifArr objectAtIndex:i];
        if ([theNotif.userInfo isEqual:dictInfo])
        {
            [application cancelLocalNotification:theNotif];
        }
    }
}

- (void) addLocalNotification: (NSDate *) fireDate soundName: (NSString *) soundName 
                    alertBody:  (NSString *) alertBody infoDict: (NSDictionary *)infoDict
{
    UILocalNotification *localNotif = [[UILocalNotification alloc] init];
    if (localNotif == nil)
        return;

    localNotif.fireDate = fireDate;

    localNotif.timeZone = [NSTimeZone defaultTimeZone];

    // Notification details
    localNotif.alertBody = alertBody;

    // Set the action button
    localNotif.alertAction = @"Show me";
    localNotif.hasAction = YES;

    localNotif.applicationIconBadgeNumber = 1;
    localNotif.soundName = soundName;

    localNotif.userInfo = infoDict;

    // Schedule the notification
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
    [localNotif release];

}

但是,每次我执行 addLocalNotification 方法时,都会立即触发旧的本地通知。请帮我!

4

0 回答 0