【发布时间】:2014-12-20 04:12:17
【问题描述】:
我正在尝试删除我从 iPhone 日历中创建的活动。
我试过了,但它总是返回 NO:
[eventStore removeEvent:event span:EKSpanThisEvent error:&err];
我按如下方式创建了该事件并且它有效:
eventStore = [[EKEventStore alloc] init];
event = [EKEvent eventWithEventStore:eventStore];
event.title = @"EVENT TITLE";
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd:HH:mm"];
NSDate * date = [[NSDate alloc] init];
date = [dateFormatter dateFromString:@"2010-8-15:12:30"];
[date retain];
event.startDate = date;
event.endDate = [[NSDate alloc] initWithTimeInterval:600 sinceDate:event.startDate];
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
有没有办法删除这个事件?或者,如果我再次尝试编写此事件,它只会修改它而不是创建一个新事件,这会更好。
谢谢,
【问题讨论】:
-
尝试捕捉错误(记录错误)否则代码看起来没问题。或尝试第一个简单的日期,例如 [NSDate date] 作为开始日期和结束日期。
-
如果您要使用其他方法删除,请先使用 [eventStore eventWithIdentifier:eventID]; 获取事件;
-
如何确保我使用的是同一个 eventstore?文档说“如果事件开始时不在事件存储中,则此方法返回 NO。”
-
我不是在说 eventstore,我想说的是保存事件的 eventIdentifier,例如 NSString *eventID = event.eventIdentifier
-
非常感谢。我现在可以删除事件了 :)