我正在编写一个允许用户添加带有警报时间的提醒的应用程序。提醒工作正常,并且警报在应有的时候响起,但是当我进入“提醒”应用程序并查看在我的应用程序中设置的提醒时,警报文本未出现在{{1 }}。
以下是“提醒”应用程序,其中显示了通过“提醒”应用程序设置的提醒和通过我的应用程序设置的提醒:
即使文本未显示在单元格中,但如果我编辑提醒,则警报设置正确:
现在,该应用程序没有太多功能-我才刚刚开始。这是我当前用来添加提醒的屏幕。
这是用于添加提醒和警报的代码:
UITableViewCell
我可能会缺少什么?
答案 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的。