以编程方式删除ipad上的日历条目

时间:2011-03-18 12:51:30

标签: objective-c xcode ipad

我的iPad应用程序开发需要我只需按一下按钮即可删除日历条目。我知道用EKEventStore创建一个日历条目。我该如何删除。伪代码会有很大的帮助。
我使用以下伪代码创建条目:

EKEventStore *eventStore = [[EKEventStore alloc] init];
EKEvent *event  = [EKEvent eventWithEventStore:eventStore];
event.title     = @"EVENT TITLE";
event.notes     = @"Event notes here";
event.startDate = [[NSDate alloc] init];
event.endDate   = [[NSDate alloc] initWithTimeInterval:600 sinceDate:event.startDate];

[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];  

2 个答案:

答案 0 :(得分:0)

为什么不使用:

- (BOOL)removeEvent:(EKEvent *)event span:(EKSpan)span error:(NSError **)error

答案 1 :(得分:0)

EKEventStore *storeDelete=[[EKEventStore alloc]init];
        NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
      NSString *uid=  [defaults objectForKey:@"uniqueIdentifier"];

        EKEvent *eventDelete=[storeDelete eventWithIdentifier:uid];

        [storeDelete removeEvent:eventDelete span:EKSpanFutureEvents commit:YES error:nil];

如果要在其他类中删除,请为EKEventStore创建一个对象。要删除事件,您需要具有事件的唯一标识符(通过在保存事件后调用event.eventIdentifier来获取标识符)。

[storeDelete removeEvent:eventDelete span:EKSpanFutureEvents commit:YES error:nil];

用于删除具有事件ID的特定事件。

EKSpanThisEvent仅用于此事件,而EKSpanFutureEvents用于删除与此事件ID相关联的所有事件。