Ho configurato un UITableView utilizzando un NSFetchedResultsController che visualizza un numero di prototipi UITableViewCells. Ho collegato un push segue dal mio UITableViewCell al mio DetailViewController.prepareForSegue non viene chiamato quando viene selezionata la riga UITableView?
Nel mio TableViewController ho implementato sia:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%s", __PRETTY_FUNCTION__);
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
Quando eseguo l'applicazione e fare clic su una riga nella tableView mia applicazione chiama solo:
[TableViewController tableView:didSelectRowAtIndexPath:]
[TableViewController tableView:didSelectRowAtIndexPath:]
[TableViewController tableView:didSelectRowAtIndexPath:]
Se cancello la segue e rewire forma un UIBarButtonItem su DetailViewController, quindi il seguito viene chiamato correttamente, qualcuno può pensare a ciò che mi manca?
EDIT:
Aggiunto:
- (IBAction)tester:(id)sender {
[self performSegueWithIdentifier:@"SEGTEST" sender:nil];
}
e collegato a quello di un'UIButtonBarItem che ha chiamato "tester" e funziona, non riesco proprio a farlo al fuoco ancora quando mi collego dal UITableViewCell al controller.
Come la mia risposta qui sotto. Perché non collegarlo semplicemente da ViewController a ViewController e chiamarlo nel metodo didSelectCell? – Darren
Potrei immaginarlo, ero più curioso del motivo per cui non sparava. L'unica differenza che posso vedere tra questo e una versione funzionante che ho è che questa versione utilizza Core Data e un UIFetchedResultsController, anche se non riesco a vedere come dovrebbe essere importante. – fuzzygoat