使用其标识符从设备的日历中删除EKEvent [英] Deleting an EKEvent from device's calendar using its identifier

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

问题描述

我正在创建EKEvent,保存它并保存其标识符。我想访问此标识符并删除特定事件。我能够从数据库中检索正确的标识符。但是,事件不会从我的设备日历中删除。
删除事件的代码:
`NSError * err;

I am creating EKEvent, saving it and saving its identifier as well. I wanna access this identifier and delete the specific Event. I am able to retrieve the proper Identifier from database. However, the Event isn't getting deleted from my Device's calendar. My code to delete the event : `NSError* err;

    EKEvent *myEvent = [EKEvent eventWithEventStore:homeobj.eventDB];

    myEvent = [homeobj.eventDB eventWithIdentifier:[dbObj selectEventIdentifier:mypass]];

    [homeobj.eventDB removeEvent:myEvent span:EKSpanThisEvent commit:YES error:&err];

`

推荐答案

删除使用此代码

-(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是否存在

I have updated my code to check if id exists or not as

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

删除后的输出是......

output after deletion is ...

2013-06-26 18:51:43.999 CARL [674:907] id为7AFE7AC2-111A-446F-86E6-8D69AD38F1AF:CA946E83-BE08-44AB-8834-06E1E4BFF7E8

2013-06-26 18:51:43.999 CARL[674:907] id is 7AFE7AC2-111A-446F-86E6-8D69AD38F1AF:CA946E83-BE08-44AB-8834-06E1E4BFF7E8

您的ID是这样的吗?

在设备的日历应用中创建事件检查后。

After creation of event check in calendar app in device.

删除事件完成后,屏幕截图为: -

After deleting event completion screenshot is :--

在这里你可以得到示例项目。

这篇关于使用其标识符从设备的日历中删除EKEvent的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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