Как преобразовать дату в компоненты даты в SwiftUI? - PullRequest
0 голосов
/ 18 июня 2020

Я хочу установить ежедневное уведомление в то время, когда пользователь выбирает из DatePicker, но я не могу понять, как преобразовать выбранный час и минуту в DateComponents, чтобы соответствовать UNCalendarNotificationTrigger.

Это my DatePicker:

DatePicker("Choose time of notif", selection: $notifTime, displayedComponents: .hourAndMinute)

Это мой триггер уведомления:

var dateComponents = DateComponents()
dateComponents = notifTime
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)

1 Ответ

0 голосов
/ 18 июня 2020

Вам просто нужно получить dateComponents из свойства date, используя Calendar API, который нужно повторить. Итак, в этом случае часы и минуты повторяются каждый день, вот как это сделать:

var notifTime: Date
let dateComponents = Calendar.current.dateComponents([.hour, .minute], from: notifTime)
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
...