使用EKEventStore从iPhone日历中删除事件 [英] Removing events from iPhone calendar with EKEventStore

查看:1233
本文介绍了使用EKEventStore从iPhone日历中删除事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图删除我从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];

有办法删除此活动吗?



感谢,

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

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


I'm trying to remove events that i have created from the iPhone calendar.

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.

Thanks,

解决方案

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

To delete the events:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆