2

在 iOS 10 中,我使用新的框架 UNNotification 。设置 UNNotificationTrigger 时,我想在 UNNotification 上设置触发日期。但我在 UNNotificationTrigger 的属性中找不到设置触发日期。那么如何在 UNNotificationTrigger 中设置触发日期。我想在 UNNotificationTrigger 中设置一个触发日期,我该如何设置

4

1 回答 1

3

用户通知框架中有两种类型的触发器:

  1. UNTimeIntervalNotificationTrigger - 用于创建具有设定间隔时间的通知:

    30 分钟内开火(60 秒乘以 30),

    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: (30*60), repeats: false)
    
  2. UNCalendarNotificationTrigger- 用于在特定日期创建通知,如您的情况,并用于按照特定标准重复:

    let date = DateComponents()
    date.hour = 8
    date.minute = 30 
    let trigger = UNCalendarNotificationTrigger(dateMatching: date, repeats: true)
    

您的解决方案(Swift 3)是将您的日期转换为 dateComponent ,这可以通过以下方式完成:

import UserNotifications

var newComponents = Calendar.current.dateComponents([.year,.month,.day,.hour,.minute,.second,], from: date)

let trigger = UNCalendarNotificationTrigger(dateMatching: newComponents, repeats: false)
于 2016-12-15T06:03:24.203 回答