我想列出预定的本地通知,以便检查解雇日期,取消好日期。
这就是我添加本地通知的方式:
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
变量。
答案 0 :(得分:2)
我没有收到你的问题,但我对下面的代码有一些疑问试试这个:
您必须在创建通知后写下此行。
UIApplication.sharedApplication().scheduleLocalNotification(notification)
然后
for oneEvent in UIApplication.sharedApplication().scheduledLocalNotifications! {
if date == oneEvent.fireDate {
app.cancelLocalNotification(oneEvent)
}
}
答案 1 :(得分:1)
如果您使用的是ios 10,可以尝试导入UserNotifications框架(UserNotifications.framework)然后
let center = UNUserNotificationCenter.current()
center.getPendingNotificationRequests(...)
在IOS 10中,Apple转移到新的Notification框架,您仍然可以使用旧方式创建和安排本地通知(sharedApplication.scheduleLocalNotification),但是当您以旧方式处理它们时会出现奇怪的行为(UIApplication.sharedApplication( ).scheduledLocalNotifications)。