Storyboard segue se llama antes de UITableView's didSelectRow

Tengo un storyboard con segue de una celda de la table. Quiero establecer algunas properties con algunos datos cuando se selecciona una fila, así que hago lo siguiente:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [[ProperyManager shanetworkingPropertyManager]setSelectedRow:[verseIds objectAtIndex:indexPath.row]]; [[ProperyManager shanetworkingPropertyManager]setID:[poemIDs objectAtIndex:indexPath.row]]; [[ProperyManager shanetworkingPropertyManager]setRowToReturn:[NSString stringWithFormat:@"%i",indexPath.row]]; } 

El problema es que los methods del ciclo de vida del controller de vista (viewWillAppear etc.) del controller de vista de destino se invocan antes del método didSelectRow anterior, porque el segue empuja la vista antes de ejecutar el método de delegado.

¿Cómo puedo evitar esto?

No cree el Segue desde la celda al nuevo VC, en su lugar configure el Segue desde el antiguo VC al nuevo VC y déle un identificador a la segue.

Luego dentro

didSelectRowAtIndexPath puede llamar

[self performSegueWithIdentifier:@"Segue" sender:self]

La respuesta de Rawkode es una buena solución; una alternativa es que, en prepareForSegue: puede acceder a la fila seleccionada de la vista de tabla (el argumento del sender será la celda de vista de tabla, puede hacer [self.tableView indexPathForCell:(UITableViewCell*)sender] para get la ruta del índice) y configure lo que necesite en ese punto.