iphone - 使用 EKEventStore 从 iPhone 日历中删除事件

标签 iphone events calendar

我正在尝试从 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]; 

有办法删除这个事件吗?或者,如果我尝试再次编写此事件,它只会修改它而不是创建一个新事件,这样会更好。

谢谢

最佳答案

创建事件后,我将 eventIdentifier 保存在数组中:

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

关于iphone - 使用 EKEventStore 从 iPhone 日历中删除事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3482920/

相关文章:

ios - 如何将应该在 Obj-C 中依次执行的方法构造在一起

javascript - 在初始化期间创建具有不同时区的新 JavaScript 日期对象

vb.net - 在 SQL Server Reporting Services (VB.Net) 中查找上一个日历月的第一天和最后一天

javascript - 单击日历按钮在 Accordion 内的 Angular UI 日期选择器上不起作用

iphone - 触摸 subview 时如何取消滚动

iphone - 当输入 2 个连续空格时,如何以编程方式避免 iPhone/iPad 在文本字段中添加 '.' 字符?

iphone - 如何像 Tweetie 应用程序一样在 UITableViewCell 底部添加渐变

c# - WebControl 和 CompositeControl 之间的区别?

reactjs - 在react-testing-library中按回车键提交表单不起作用

mysql - FullCalendar jquery json 事件 MySQL 问题