覆盖本地通知

时间:2011-08-18 16:17:34

标签: objective-c xcode

我有一个激活本地通知的方法。

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif == nil)
    return;
localNotif.fireDate = itemDate;
localNotif.timeZone = [NSTimeZone defaultTimeZone];

// Notification details
localNotif.alertBody = [mainTitle text];
// Set the action button
localNotif.alertAction = @"View";

localNotif.soundName = UILocalNotificationDefaultSoundName;

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

问题是,如果你多次调用该方法,请不要覆盖localNotif,但它会添加另一个。如何每次删除旧的?

谢谢!

2 个答案:

答案 0 :(得分:2)

保存本地通知对象(例如在ivar中),并执行:

[[UIApplication sharedApplication] cancelLocalNotification:previousNotification];

您还可以使用cancelAllLocalNotifications清除所有本地通知。

答案 1 :(得分:-1)

使localNotif成为包含此方法的类的属性或实例变量。