I have a UITableViewController that push a EKEventViewController on selecting a row using this code:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"eventHandler"]){
if (_currentPanel.event_identifier != nil) {
self.event = [[[CalendarHelper sharedInstance] store] eventWithIdentifier:_currentPanel.event_identifier];
} else {
EKEventStore *store = [[CalendarHelper sharedInstance] store];
self.event = [EKEvent eventWithEventStore:store];
_event.startDate = self.qualifyDate;
_event.endDate = self.qualifyDate;
_event.title = @"test identifier" ;
_event.calendar = [[CalendarHelper sharedInstance] calendar];
}
self.eventDatailController = (EKEventViewController *)[segue destinationViewController];
self.eventDatailController.event = self.event;
self.eventDatailController.allowsEditing = YES;
self.eventDatailController.allowsCalendarPreview = YES;
self.eventDatailController.delegate = self;
}
}
The Event show well but after editing the event in EKEventViewController through the Edit button and finishing tapping Done button, the event in EKEventViewController is not accordingly refreshed.
The SimpleEKDemo works fine but doesn’t use
prepareForSegue:sender:
but
tableView:didSelectRowAtIndexPath:
What am I doing wrong?
you can always call the prepareForSegue method from didSelectRowAtIndexPath by just doing: