【发布时间】:2017-08-10 12:07:31
【问题描述】:
我正在尝试制定一个时间表,其中我需要记住我上课的所有星期,例如星期一的某个时间。问题是,如果我在打印变量 triggerWeekly 时指定 weekday = 1(星期日),它会告诉我 weekday = 2,因此通过执行测试我不会收到此类通知。我需要知道为什么会发生这种情况
let weekday = 1 //Sunday 19 Mar
let calendar = NSCalendar.current
var date = DateComponents()
date.weekday = weekday
date.hour = 1
date.minute = 5
let ultimateDate = calendar.date(from: date)
let triggerWeekly = Calendar.current.dateComponents([.weekday, .hour, .minute], from:
ultimateDate!)
print(triggerWeekly) // hour: 1 minute: 5 second: 0 weekday: 2 isLeapMonth: false
let trigger = UNCalendarNotificationTrigger(dateMatching: triggerWeekly, repeats: true)
let identifier = "curso\(String(Index))"
let request = UNNotificationRequest(identifier: identifier,
content: content, trigger: trigger)
【问题讨论】:
-
凌晨 1 点哈哈
-
试试这样
let trigger = UNCalendarNotificationTrigger(dateMatching: DateComponents(hour: 1, minute: 5, weekday: 2), repeats: true) -
别忘了为用户请求授权
标签: swift3 notifications calendar weekday