从iPhone的日历中删除活动 [英] Deleting an event from iPhone's calendar

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

问题描述

我想根据使用者要求从日历中删除活动。这是我想出来的:

  //删除事件
EKEventStore * eventStore = [[EKEventStore alloc ] 在里面];
EKEvent * event = [EKEvent eventWithEventStore:eventStore];
event.title = appDelegate.title1;
event.startDate = appDelegate.recAddDate;
event.endDate = appDelegate.currentDateName;
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError * err;
[eventStore removeEvent:event span:EKSpanThisEvent error:& err];

下面是我调用的函数,从事件数组中删除事件。 Items数组用于从iPhone日历获取事件

   - (BOOL)removeEvent:(EKEvent *)event span:(EKSpan)跨越错误:(NSError **)错误{
VoiceRecorderAppDelegate * appDelegate =(VoiceRecorderAppDelegate *)[[UIApplication sharedApplication] delegate];
[items removeObjectAtIndex:appDelegate.objectindexpath];
}


解决方案

  [eventStore saveEvent:event span:EKSpanThisEvent error:& err]; 
NSString * str = [[NSString alloc] initWithFormat:@%@,event.eventIdentifier];
[arrayofEventId addObject:str];

,然后标识要删除的活动,然后删除该活动。

  EKEventStore * store = [[EKEventStore alloc] init]; 
EKEvent * eventToRemove = [store eventWithIdentifier:[arrayofEventId objectAtIndex:i]];
if(eventToRemove!= nil){
NSError * error = nil;
[store removeEvent:eventToRemove span:EKSpanThisEvent error:& error];
}

同样不要忘记从arrayofEventId中删除该事件。 p>

I am trying to delete an event from the Calendar on user request. This is what I've come up with:

// Deleting Event
    EKEventStore *eventStore = [[EKEventStore alloc] init];
EKEvent *event  = [EKEvent eventWithEventStore:eventStore];
event.title     = appDelegate.title1;
event.startDate = appDelegate.recAddDate;
event.endDate   = appDelegate.currentDateName;
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore removeEvent:event span:EKSpanThisEvent error:&err];

Below is the function I'm calling to remove the event from the event array. Items array is used to fetch events from iPhone calendar

- (BOOL)removeEvent:(EKEvent *)event span:(EKSpan)span error:(NSError **)error{
    VoiceRecorderAppDelegate *appDelegate = (VoiceRecorderAppDelegate *)[[UIApplication sharedApplication] delegate];
    [items removeObjectAtIndex:appDelegate.objectindexpath];
}

解决方案

Firstly, save the eventId for the event while adding/saving events to the calendar.

[eventStore saveEvent:event span:EKSpanThisEvent error:&err]; 
NSString* str = [[NSString alloc] initWithFormat:@"%@", event.eventIdentifier];
[arrayofEventId addObject:str];

and then identify the event you want to remove ande then remove that event.

EKEventStore* store = [[EKEventStore alloc] init];
EKEvent* eventToRemove = [store eventWithIdentifier:[arrayofEventId objectAtIndex:i]];
 if (eventToRemove != nil) {  
   NSError* error = nil;
  [store removeEvent:eventToRemove span:EKSpanThisEvent error:&error];
 } 

Also don't forget to remove that event from arrayofEventId as well.

这篇关于从iPhone的日历中删除活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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