使用日期选择器的本地 UNMutableNotificationContent 触发日期
Posted
技术标签:
【中文标题】使用日期选择器的本地 UNMutableNotificationContent 触发日期【英文标题】:Local UNMutableNotificationContent fire date using Date picker 【发布时间】:2016-09-07 01:49:57 【问题描述】:所以我一直在尝试实现 ios 10 本地通知,首先我认为代码与 iOS 9 相同,只是添加了一个通知扩展目标。但是它实际上使用了UNMutableNotificationContent
类,
我可以使用时间间隔设置带有通知的通知,但是如何使用日期选择器专门设置触发日期?
import UserNotifications
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .full
let displayDate = dateFormatter.string(from: datePicker.date)
let notif = UNMutableNotificationContent()
notif.title = "Reminder)"
notif.subtitle = "\(displayDate)"
notif.body = "Details"
notif.categoryIdentifier = "Details Reminder"
let notifTrigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
let request = UNNotificationRequest(identifier: "myNotif", content: notif, trigger: notifTrigger)
UNNotificationRequest
触发器需要 UNTimeIntervalNotificationTrigger
类型,我希望我可以添加一个日期。
我是否必须使用当前日期和日期选择器日期来计算间隔时间?或者我可以通过其他方式做到这一点
【问题讨论】:
【参考方案1】:您需要提供从“现在”到您希望发送通知的时间间隔。
let interval = laterDate.timeIntervalSince(earlierDate)
在这种情况下,earlierDate
应该是“现在”(即 Date()
),我假设 laterDate
是您的 datePicker.date
。
【讨论】:
【参考方案2】:您应该使用 UNCalendarNotificationTrigger。
UNCalendarNotificationTrigger.init(dateMatching: NSCalendar.current.dateComponents([.day, .month, .year, .hour, .minute], from: <<YOUR_DATE>>), repeats: false)
【讨论】:
以上是关于使用日期选择器的本地 UNMutableNotificationContent 触发日期的主要内容,如果未能解决你的问题,请参考以下文章