关于删除EKEvent,当action = EKEventEditViewDelegate时

时间:2013-08-12 06:37:01

标签: iphone ios uiviewcontroller delegates

- (void)eventEditViewController:(EKEventEditViewController *)controller 
        didCompleteWithAction:(EKEventEditViewAction)action {

    NSError *error = nil;
    EKEvent *thisEvent = controller.event;

    switch (action) {
        case EKEventEditViewActionCanceled:
            // Edit action canceled, do nothing. 
            break;

        case EKEventEditViewActionSaved:
            // When user hit "Done" button, save the newly created event to the event store, 
            // and reload table view.
            // If the new event is being added to the default calendar, then update its 
            // eventsList.
            if (self.defaultCalendar ==  thisEvent.calendar) {
                [self.eventsList addObject:thisEvent];
            }
            [controller.eventStore saveEvent:controller.event span:EKSpanFutureEvents error:&error];
            [self.tableView reloadData];
            break;

        case EKEventEditViewActionDeleted:
            // When deleting an event, remove the event from the event store, 
            // and reload table view.
            // If deleting an event from the currenly default calendar, then update its 
            // eventsList.
            if (self.defaultCalendar ==  thisEvent.calendar) {
                [self.eventsList removeObject:thisEvent];
            }
            [controller.eventStore removeEvent:thisEvent span:EKSpanFutureEvents error:&error];
            [self.tableView reloadData];
            break;

        default:
            break;
    }
    // Dismiss the modal view controller
    [controller dismissModalViewControllerAnimated:YES];

}

EKEventEditViewDelegate中的此功能。我想知道我何时点击“操作”值为EKEventEditViewActionDeleted的按钮。enter image description here

首先,我想当我点击删除事件按钮action == EKEventEditViewActionDeleted时。但不是。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

实现EKEventViewDelegate协议,然后使用...

检查删除事件
-(void) eventViewController:(EKEventViewController *)controller didCompleteWithAction:(EKEventViewAction)action
{
    if (action == EKEventViewActionDeleted) {
        // Update unique event ID to core data & change text of button to new
        _itemReminder = NULL;
        _part.reminderID = NULL;
        _savedEventFound = NO;
        [_reminderButton  setTitle: @"New" forState: UIControlStateNormal];

    }
}