簡體   English   中英

取消本地通知

[英]Cancel local notification

我想列出預定的本地通知,以便檢查解雇日期,取消好的日期。

這是我添加本地通知的方式:

let notification = UILocalNotification()
notification.fireDate = date
notification.alertBody = message
notification.soundName = UILocalNotificationDefaultSoundName
notification.timeZone = NSTimeZone.defaultTimeZone()

這是我列出所有通知以找到好的通知:

for oneEvent in UIApplication.sharedApplication().scheduledLocalNotifications! {
    if date == notification.fireDate {
        app.cancelLocalNotification(notification)
    }
}

問題是我創建了很多通知,並且在scheduledLocalNotifications中始終只有一個通知!

通知是正確觸發但我無法檢索它們是scheduledLocalNotifications變量。

我沒有得到你的問題,但我對下面的代碼有一些疑問試試這個:

您必須在創建通知后寫下此行。

UIApplication.sharedApplication().scheduleLocalNotification(notification)

然后

for oneEvent in UIApplication.sharedApplication().scheduledLocalNotifications! {
    if date == oneEvent.fireDate {
         app.cancelLocalNotification(oneEvent)
    }
}

如果您使用的是ios 10,則可以嘗試導入UserNotifications框架(UserNotifications.framework)

let center = UNUserNotificationCenter.current()
center.getPendingNotificationRequests(...)

在IOS 10中,Apple轉移到新的Notification框架,您仍然可以使用舊方式創建和計划本地通知(sharedApplication.scheduleLocalNotification),但是當您以舊方式處理它們時會出現奇怪的行為(UIApplication.sharedApplication()。scheduledLocalNotifications )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM