删除特定的本地通知 - Swift

时间:2016-03-10 06:47:04

标签: ios swift notifications uilocalnotification

每次打开应用程序时,都会安排本地通知。

问题是 - 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的通知被删除(我之后检查本地通知计数)。

你们可以提出任何新方法或请查看此代码吗?

谢谢。

0 个答案:

没有答案