如何从新事件中删除警报

时间:2016-09-07 04:56:02

标签: ios swift ekevent

我有一个iOS应用程序,允许用户使用

将事件添加到日历
event.title = "\(txtEventTitle.text!)"
event.startDate = self.startDate
event.endDate = self.endDate
event.notes = "\(txtNotes.text!)"
event.calendar = eventStore.defaultCalendarForNewEvents

if(setAlarm)
{
   event.addAlarm(EKAlarm(relativeOffset: -self.alarmOffset))
}
else
{
   event.removeAlarm(EKAlarm())
   //event.addAlarm(EKAlarm(relativeOffset: 0))
}

我还允许用户指定他们想要提醒的时间(15分钟,1小时,1天)。这工作正常,但如果用户选择"没有提醒"我似乎找不到禁用提醒的方法。

我尝试过上面的代码,即

event.removeAlarm

但这只是设置默认值10分钟,30分钟。

如何在新活动中禁用闹钟。

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

func updateEvent(_ event: EKEvent) {
  event.title = "\(txtEventTitle.text!)"
  event.startDate = self.startDate
  event.endDate = self.endDate
  event.notes = "\(txtNotes.text!)"
  event.calendar = eventStore.defaultCalendarForNewEvents

  //remove alarms:
  if let alarms = event.alarms {
    for item in alarms {
      reminder.removeAlarm(item)
    }
  }
  let alarm = EKAlarm(relativeOffset: -self.alarmOffset)
  event.addAlarm(alarm)
}