A segue tiene dos controladores de vista: sourceViewController
y destinationViewController
. Cuando UIKit ejecuta un segue, envía un mensaje prepareForSegue:sender:
al VC de origen. Puede anular ese método en su subclase de controlador de vista para pasar datos al VC de destino.
Por ejemplo, suponga que tiene un controlador de vista maestro con una vista de tabla de películas, y cuando el usuario hace clic en una fila en la vista de tabla, desea pasar a un controlador de vista de detalle para la película.
@implementation MasterViewController
...
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
DetailViewController *detailVC = segue.destinationViewController;
NSIndexPath *selectedPath = [self.tableView indexPathForSelectedRow];
detailVC.movie = [self movieForIndexPath:selectedPath];
}
Esto se explica en el video Introducing Interface Builder Storyboarding de la WWDC 2011.
Es también digno de mención que cuando el origen del segue es una célula vista de tabla, o el botón de accesorios de una célula vista de tabla, el argumento sender
de prepareForSegue:sender:
es la celda de vista de tabla.
Si desea utilizar su nombre real, modifique su nombre de usuario, no coloque una línea adicional en las publicaciones. :) – mac