EKEventEditViewActionDeleted вызывается несколько раз при удалении события - PullRequest
3 голосов
/ 08 ноября 2011

Я пытаюсь сохранить событие в календарь iPhone, а также удалить, когда пользователь удаляет событие.Ниже приведен код, который я использую для создания и редактирования события.

// Upon selecting an event, create an EKEventViewController to display the event.
EKEventEditViewController *editController = [[EKEventEditViewController alloc] init];
editController.event =  [eventsList objectAtIndex:indexPath.row];
editController.eventStore = self.eventStore;
editController.editViewDelegate = self;
itsSelectedReminder = indexPath.row;
isReminderDeleted = TRUE;
[editController.navigationBar setTintColor:[UIColor colorWithRed:67/255.0 green:114/255.0 blue:18/255.0 alpha:1]]; 
[self presentModalViewController:editController animated:YES];

[editController release];
[tableView deselectRowAtIndexPath:indexPath animated:YES]; 

Затем Когда пользователь выполняет какое-либо действие, добавьте, отредактируйте или удалите. Я ловлю событие, используя следующий код.*

Он отлично работает для добавления и редактирования, однако, когда я пытался удалить, он вызывает метод несколько раз, что приводит к сбою приложения.Любая помощь очень ценится.Пожалуйста, помогите как можно скорее.

Заранее спасибо

С уважением,

Дилип ...

1 Ответ

1 голос
/ 04 мая 2016

Установите editViewDelegate контроллера равным нулю сразу после завершения.

func eventEditViewController(controller: EKEventEditViewController, didCompleteWithAction action: EKEventEditViewAction) {

    // prevent additional calls for the same action
    controller.editViewDelegate = nil 

    // whatever else you want to do
    dismissViewControllerAnimated(true) {
    }
    ...
}
...