我正在创建EKEvent,保存它并保存其标识符。我想访问此标识符并删除特定事件。我能够从数据库中检索正确的标识符。但是,事件不会从我的设备日历中删除。 我删除事件的代码: `NSError *错误;
EKEvent *myEvent = [EKEvent eventWithEventStore:homeobj.eventDB];
myEvent = [homeobj.eventDB eventWithIdentifier:[dbObj selectEventIdentifier:mypass]];
[homeobj.eventDB removeEvent:myEvent span:EKSpanThisEvent commit:YES error:&err];
`
答案 0 :(得分:2)
删除使用此代码
-(void)removeMeWithIndex:(int)index
{
EKEvent* eventToRemove = [eventStore eventWithIdentifier:[arrayofEventId objectAtIndex:index]];
if (eventToRemove != nil) {
NSError* error = nil;
[eventStore removeEvent:eventToRemove span:EKSpanThisEvent error:&error];
}
}
-(IBAction)remove
{
[self removeMeWithIndex:0];
}
我已更新我的代码以检查id是否存在
-(void)removeMeWithIndex:(int)index
{
NSLog(@"id is %@",[[NSUserDefaults standardUserDefaults] valueForKey:@"id"]);
EKEvent* eventToRemove = [eventStore eventWithIdentifier:[[NSUserDefaults standardUserDefaults] valueForKey:@"id"]];
if (eventToRemove != nil) {
NSError* error = nil;
[eventStore removeEvent:eventToRemove span:EKSpanThisEvent error:&error];
}
}
删除后的输出是......
2013-06-26 18:51:43.999 CARL [674:907] id为7AFE7AC2-111A-446F-86E6-8D69AD38F1AF:CA946E83-BE08-44AB-8834-06E1E4BFF7E8
你的身份证是这样的吗?
在设备中的日历应用中创建事件检查后。
删除事件完成后,屏幕截图为: -
您可以在这里获得sample project.