2011-03-18 45 views
0

我在iPad應用程序開發中需要一個requrirement,我必須在按下按鈕時刪除日曆條目。我知道用EKEventStore創建一個日曆條目。我如何刪除。僞代碼會有很大的幫助。
創建與下面的僞碼的入口:以編程方式在ipad上刪除日曆條目

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]; 

回答

0

爲什麼你不使用:

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

如何獲取當前日曆條目? – 2011-03-18 19:07:18

+0

要獲取當前條目,您必須將'EKSpan'指定爲'EKSpanThisEvent' – malinois 2011-03-18 20:07:22

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相關的所有事件。