2012-02-21 4 views
8

Tengo un UITableView y las celdas están conectadas a UIStoryboardSegue para abrir un nuevo UIViewController. Después de hacer clic en una celda prepareForSegue se llama a get y todo funciona bien.iOS - UIStoryboardSegue detecta la celda de la tabla y abre una viewController?

PREGUNTA: En el siguiente método, ¿cómo puedo saber cuál es el índice de la celda seleccionada en mi TableView?

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    ObjectDetailViewController *mvc = [segue destinationViewController]; 
    // PassingObject *obj = [self.array objectAtIndex: ? ]; 
    mvc.passingObject = obj; 
} 

Respuesta

18
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    // Assume self.view is the table view 
    NSIndexPath *path = [self.tableView indexPathForSelectedRow]; 
    DetailObject *detail = [self detailForIndexPath:path]; 
    [segue.destinationViewController setDetail:detail]; 
} 
+0

Gracias, he estado pasando de las historietas al uso de guiones gráficos, y ha sido un desafío porque no hay una buena documentación. ¿Hay un buen blog o tutorial para guiones gráficos? – aryaxt

+1

Aquí hay un buen tutorial relacionado con su pregunta: [Raywenderlich] (http://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2). Puede consultar sus otros tutoriales también. –

+1

el anterior es probablemente el único tutorial decente que hay. Incluso tengo varios libros IOS5 que apenas arañan la superficie de los guiones gráficos. Cuanto más simple sea la interfaz de usuario, más storyboards parece ser beneficioso. El más personalizado, el más difícil. – DJPlayer

6

En lugar de [self.tableView indexPathForSelectedRow] (mira el DJPlayer respuesta) se puede utilizar [self.tableView indexPathForCell: remitente], ya que el remitente es una célula seleccionada en este caso.

Cuestiones relacionadas