通过应用添加的提醒未显示闹钟时间

时间:2019-01-14 04:46:01

标签: ios swift reminders

我正在编写一个允许用户添加带有警报时间的提醒的应用程序。提醒工作正常,并且警报在应有的时候响起,但是当我进入“提醒”应用程序并查看在我的应用程序中设置的提醒时,警报文本未出现在{{1 }}。

以下是“提醒”应用程序,其中显示了通过“提醒”应用程序设置的提醒和通过我的应用程序设置的提醒:

enter image description here

即使文本未显示在单元格中,但如果我编辑提醒,则警报设置正确:

enter image description here

现在,该应用程序没有太多功能-我才刚刚开始。这是我当前用来添加提醒的屏幕。

enter image description here

这是用于添加提醒和警报的代码:

UITableViewCell

我可能会缺少什么?

1 个答案:

答案 0 :(得分:2)

我想我理解您的问题。我只是用您的代码创建了一个提醒,它只是创建了一个没有字幕中日期的提醒。

我们需要了解的是设置警报日期!=提醒的到期日期。用户可以设置到期日/时间,并在到期日之前添加提醒。阅读documentation了解更多信息。

要添加日期,您需要设置传递给 EKReminder 对象的 dueDateComponents 属性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的。

The one with the red one was created with dueDateComponents