使用 EKEventStore 从 iPhone 日历中删除事件 [英] Removing events from iPhone calendar with EKEventStore
本文介绍了使用 EKEventStore 从 iPhone 日历中删除事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试删除我从 iPhone 日历中创建的活动.
I'm trying to remove events that i have created from the iPhone calendar.
我试过了,但它总是返回 NO:
I tried this, but it always returns NO:
[eventStore removeEvent:event span:EKSpanThisEvent error:&err];
我按如下方式创建了该事件并且它有效:
I created the event as follows and it works:
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];
有没有办法删除这个事件?或者,如果我再次尝试编写此事件,它只会修改它而不是创建一个新事件,这会更好.
Is there a way to remove this event? Or it would be be better that if I try to write this event again it only modifies it instead of creating a new one.
谢谢,
推荐答案
创建事件后,我将 eventIdentifier 保存在一个数组中:
After creating the event I save the eventIdentifier in an array:
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
NSString* str = [[NSString alloc] initWithFormat:@"%@", event.eventIdentifier];
[arrayofCalIDs addObject:str];
删除事件:
EKEventStore* store = [[[EKEventStore alloc] init] autorelease];
EKEvent* event2 = [store eventWithIdentifier:[arrayofCalIDs objectAtIndex:i]];
if (event2 != nil) {
NSError* error = nil;
[store removeEvent:event2 span:EKSpanThisEvent error:&error];
}
[myPath release];
这篇关于使用 EKEventStore 从 iPhone 日历中删除事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文