I have a UINavigationController which goes into a ViewController that loads data. This ViewController then segues to TabViewController. This TabViewController has two tabs,
I have a table view and a search bar controller on it.I created push segue on table view cell and performed push on selecting search item via search controller programatically.When navigated back exception fired.This exception happens when you perform same segue twice at a time.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:
(NSIndexPath*)indexPath
{
if (tableView == self.searchDisplayController.searchResultsTableView)
{
[self performSegueWithIdentifier:@"showDetail"sender:self];
}
}
Since it was performing same segue twice one for table view cell selection created in storyboard and another for search result cell selection. So check when to perform segue
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
{
if (self.tableView == self.searchDisplayController.searchResultsTableView)
{
[self performSegueWithIdentifier:@"showDetail"sender:self];
return YES;
}
return NO;
}
This worked perfectly.