使用日期选择器

时间:2016-09-07 01:49:57

标签: ios swift swift3 ios10

所以我一直在尝试实现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,我希望我可以添加日期。

我是否需要使用当前日期和日期选择日期来计算间隔时间?或者我可以用其他方式做到这一点

2 个答案:

答案 0 :(得分:5)

您需要提供“现在”和希望发送通知的时间间隔。

let interval = laterDate.timeIntervalSince(earlierDate)

在这种情况下,earlierDate应为'now'(即Date()},我认为laterDate是您的datePicker.date

答案 1 :(得分:2)

您应该使用UNCalendarNotificationTrigger。

UNCalendarNotificationTrigger.init(dateMatching: NSCalendar.current.dateComponents([.day, .month, .year, .hour, .minute], from: <<YOUR_DATE>>), repeats: false)