每次打开应用程序时,都会安排本地通知。
问题是 - viewDidLoad方法触发的次数越多,调度的通知就越多。
我的目标是使用特定的userInfo过滤预定的通知(删除所有现有的通知)并安排新的通知。
我一直在使用此代码段来过滤
之前的现有通知let app:UIApplication = UIApplication.sharedApplication()
for oneEvent in app.scheduledLocalNotifications! {
let notification = oneEvent as UILocalNotification
let sweetness = notification.userInfo
if sweetness == nil {
} else {
let userInfoCurrent = notification.userInfo! as! [String:AnyObject]
let uid = userInfoCurrent["uid"]! as! String
if uid == "uid1" {
//Cancelling local notification
app.cancelLocalNotification(notification)
break;
}
if uid == "uid2" {
app.cancelLocalNotification(notification)
break;
}}
此代码的问题 - 它根本不起作用。没有任何带有适当userInfo的通知被删除(我之后检查本地通知计数)。
你们可以提出任何新方法或请查看此代码吗?
谢谢。