STU*_*MER 14 cocoa-touch objective-c ios
我试图从用户请求的日历中删除一个事件.这就是我想出来的:
// 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];
Run Code Online (Sandbox Code Playgroud)
下面是我正在调用从事件数组中删除事件的函数.Items数组用于从iPhone日历中获取事件
- (BOOL)removeEvent:(EKEvent *)event span:(EKSpan)span error:(NSError **)error{
VoiceRecorderAppDelegate *appDelegate = (VoiceRecorderAppDelegate *)[[UIApplication sharedApplication] delegate];
[items removeObjectAtIndex:appDelegate.objectindexpath];
}
Run Code Online (Sandbox Code Playgroud)
tha*_*guy 16
首先,在向日历添加/保存事件时保存事件的eventId.
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
NSString* str = [[NSString alloc] initWithFormat:@"%@", event.eventIdentifier];
[arrayofEventId addObject:str];
Run Code Online (Sandbox Code Playgroud)
然后标识要删除的事件,然后删除该事件.
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];
}
Run Code Online (Sandbox Code Playgroud)
另外,不要忘记从arrayofEventId中删除该事件.
| 归档时间: |
|
| 查看次数: |
13381 次 |
| 最近记录: |