私は(2017年1月7日に)、以下を実行すると:ユーザーの迅速な通知:なぜnextTriggerDateはnilですか?
dateComponents =カレンダー:グレゴリオ暦(現在の)タイムゾーン:ヨーロッパ/ストックホルム(現在)
let dateComponents = Calendar.current.dateComponents(in: TimeZone.current, from: date) print("dateComponents = \(dateComponents)") let trigger = UNCalendarNotificationTrigger(dateMatching:dateComponents, repeats: false) let nextDate = trigger.nextTriggerDate() print("nextDate = \(nextDate)")
を、私は次の出力を得ます1年:2017月:1日:8時間:21分:34秒:0ナノ秒:0平日:1平日起算:2四半期:0週0月:1週0年:1年ForWeekOf年:2017 isLeapMonth:false
nextDate = nil
質問:なぜtrigger.nextTriggerDate() = nil
ですか?
UPDATE:私は私のdateComponents
が過決定ことができることを感じていました。私は今、それが
nextDate = Optional(2017-01-08 20:34:00 +0000)
それが必要としてなっtrigger.nextTriggerDate()
を呼び出すとき
var nextEvent = DateComponents()
nextEvent.day = dateComponents.day
nextEvent.hour = dateComponents.hour
nextEvent.minute = dateComponents.minute
let trigger = UNCalendarNotificationTrigger(dateMatching:nextEvent, repeats: false)
:私はそのためだけdateComponentsの日の時間と分を含まnextEvent
を導入しました。しかし、なぜ私はトリガを作成するときにdateComponentsを使用できないのか分かりません。
非常に具体的ではなかったので、以前の回答を編集しました。私は問題の本当の原因を見つけたと思う。 – Sulthan