Удаление EKEvent из календаря устройства по его идентификатору

Я создаю EKEvent, сохраняю его и сохраняю его идентификатор. Я хочу получить доступ к этому идентификатору и удалить конкретное событие. Я могу получить правильный идентификатор из базы данных. Однако событие не удаляется из календаря моего устройства. Мой код для удаления события: `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];

`

1 ответ

Решение

Для удаления используйте этот код

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

Я обновил свой код, чтобы проверить, существует ли идентификатор как

-(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] идентификатор: 7AFE7AC2-111A-446F-86E6-8D69AD38F1AF:CA946E83-BE08-44AB-8834-06E1E4BFF7E8

Ваш идентификатор что-то вроде этого?

После создания события проверьте в приложении календаря на устройстве.

введите описание изображения здесь

После удаления события завершения скриншот выглядит так:

введите описание изображения здесь

Здесь вы можете получить образец проекта.

Другие вопросы по тегам