通过应用程序添加的提醒不显示闹钟时间
Reminder added through app not showing alarm time
我正在编写一个允许用户添加带有闹钟时间的提醒的应用程序。提醒正常工作,闹钟在应该的时候响起,但是当我进入提醒应用程序并查看我的应用程序中设置的提醒时,闹钟文本没有出现在 [=11 中的提醒名称下=].
这是提醒应用程序,显示了通过提醒应用程序设置的提醒和通过我的应用设置的提醒:
即使文本未显示在单元格中,如果我编辑提醒,闹钟设置正确:
现在,该应用程序没有太多内容 - 我才刚刚开始。这是我当前用于添加提醒的屏幕。
这是用于添加提醒和闹钟的代码:
func createReminder() {
let reminder = EKReminder(eventStore: appDelegate.eventStore!)
reminder.title = reminderText.text!
reminder.calendar =
appDelegate.eventStore!.defaultCalendarForNewReminders()
let date = myDatePicker.date
let alarm = EKAlarm(absoluteDate: date)
reminder.addAlarm(alarm)
do {
try appDelegate.eventStore?.save(reminder,
commit: true)
} catch let error {
print("Reminder failed with error \(error.localizedDescription)")
}
}
我可能遗漏了什么?
我想我明白你的问题了。我刚刚使用你的代码创建了一个提醒,它只是创建了一个副标题中没有日期的提醒。
我们需要了解的是设置闹钟日期!=提醒的截止日期。用户可以设置截止日期 date/timing 并在截止日期前添加提醒。阅读 documentation 了解更多信息。
要添加日期你需要设置 dueDateComponents 属性 of EKReminder object 你传递给 eventStore。如下图,
let reminder = EKReminder(eventStore: eventStore)
reminder.title = reminderText
reminder.calendar = eventStore.defaultCalendarForNewReminders()
let date = Date().addingTimeInterval(10000)
let alarm = EKAlarm(absoluteDate: date)
reminder.addAlarm(alarm)
let dateComponents = NSDateComponents();
dateComponents.year = 2018
dateComponents.day = 14
dateComponents.hour = 11
dateComponents.month = 1
reminder.dueDateComponents = dateComponents as DateComponents
do{
try eventStore.save(reminder, commit: true)
} catch let error {
print("Reminder failed with error \(error.localizedDescription)")
}
下面的屏幕截图显示了 4 个事件。第一个和最后一个是手动创建的,第二个是在没有 dueDateComponents 的情况下从您的代码创建的,第三个是使用 dueDateComponents 创建的。
我正在编写一个允许用户添加带有闹钟时间的提醒的应用程序。提醒正常工作,闹钟在应该的时候响起,但是当我进入提醒应用程序并查看我的应用程序中设置的提醒时,闹钟文本没有出现在 [=11 中的提醒名称下=].
这是提醒应用程序,显示了通过提醒应用程序设置的提醒和通过我的应用设置的提醒:
即使文本未显示在单元格中,如果我编辑提醒,闹钟设置正确:
现在,该应用程序没有太多内容 - 我才刚刚开始。这是我当前用于添加提醒的屏幕。
这是用于添加提醒和闹钟的代码:
func createReminder() {
let reminder = EKReminder(eventStore: appDelegate.eventStore!)
reminder.title = reminderText.text!
reminder.calendar =
appDelegate.eventStore!.defaultCalendarForNewReminders()
let date = myDatePicker.date
let alarm = EKAlarm(absoluteDate: date)
reminder.addAlarm(alarm)
do {
try appDelegate.eventStore?.save(reminder,
commit: true)
} catch let error {
print("Reminder failed with error \(error.localizedDescription)")
}
}
我可能遗漏了什么?
我想我明白你的问题了。我刚刚使用你的代码创建了一个提醒,它只是创建了一个副标题中没有日期的提醒。
我们需要了解的是设置闹钟日期!=提醒的截止日期。用户可以设置截止日期 date/timing 并在截止日期前添加提醒。阅读 documentation 了解更多信息。
要添加日期你需要设置 dueDateComponents 属性 of EKReminder object 你传递给 eventStore。如下图,
let reminder = EKReminder(eventStore: eventStore)
reminder.title = reminderText
reminder.calendar = eventStore.defaultCalendarForNewReminders()
let date = Date().addingTimeInterval(10000)
let alarm = EKAlarm(absoluteDate: date)
reminder.addAlarm(alarm)
let dateComponents = NSDateComponents();
dateComponents.year = 2018
dateComponents.day = 14
dateComponents.hour = 11
dateComponents.month = 1
reminder.dueDateComponents = dateComponents as DateComponents
do{
try eventStore.save(reminder, commit: true)
} catch let error {
print("Reminder failed with error \(error.localizedDescription)")
}
下面的屏幕截图显示了 4 个事件。第一个和最后一个是手动创建的,第二个是在没有 dueDateComponents 的情况下从您的代码创建的,第三个是使用 dueDateComponents 创建的。