При создании события ему присваивается идентификатор. Вы создаете повторяющиеся события (как вы знаете), используя объекты EKRecurrenceRule
, но идентификатор остается неизменным для всех событий. Вы можете удалить одно событие так:
func deleteEvent(eventIdentifier: String) -> Bool {
var successful = false
let eventToRemove = self.eventStore.eventWithIdentifier(eventIdentifier)
if (eventToRemove != nil) {
do {
print("deleting single event")
try self.eventStore.removeEvent(eventToRemove!, span: .ThisEvent)
successful = true
} catch {
print("Bad things happened")
}
}
else
{
print("no event with the identifier")
}
return successful
}
Или вы можете удалить все события, как это:
func deleteFutureEvents(eventIdentifier: String) -> Bool {
var successful = false
let eventToRemove = self.eventStore.eventWithIdentifier(eventIdentifier)
if (eventToRemove != nil) {
do {
print("deleting future events")
try self.eventStore.removeEvent(eventToRemove!, span: .FutureEvents)
successful = true
} catch {
print("Bad things happened")
}
}
else
{
print("no event with the identifier")
}
return successful
}
Вы можете обновить одного или всех событий в подобной манере, используя идентификатор события.