2012-08-25 14 views

Respuesta

13

Realice la transición directamente de un controlador de vista a otro en lugar de conectarlo al botón. Dale un nombre significativo.

Luego, en el método de acción de su botón, realice lo que sea necesario primero, luego realice la segue usando el método performSegueWithIdentifier: del controlador de vista, usando el nombre significativo que eligió anteriormente.

Según sus comentarios, parece que está intentando establecer propiedades en el controlador de vista que está a punto de aparecer en su transición. Si este es el caso, debe implementar prepareForSegue:, y usar segue.destinationViewController para obtener un puntero al controlador de vista que está a punto de aparecer.

+0

Gracias por la ayuda. Intenté hacer lo que me dijiste, pero la vista se empuja primero y la acción se realiza después. Aquí está la codificación que estoy usando - 'code' - (IBAction) searchButtonPressed: (id) {emisor ViewController * viewController = [[ViewController alloc] initWithNibName: @ "ViewController" paquete: nil]; viewController.query = [NSString stringWithFormat: @ "% @", search.text]; [self performSegueWithIdentifier: @ "buscador" remitente: self]; [viewController release]; } 'código' –

+0

Bueno, eso no funcionará! Cuando se realiza la transición, el sistema operativo crea un nuevo controlador de vista para usted, por lo que el que ha creado en su código no hace nada. Me parece que debería establecer esas propiedades en 'prepareForSegue:' en su lugar. – jrturton

+0

Implementé las dos soluciones que me contó. Las cosas parecen estar un poco bien, pero ahora la aplicación se está cayendo. He intentado añadir este - - (IBAction) searchButtonPressed: (id) {emisor [auto performSegueWithIdentifier: @ "buscar" remitente: Remitente]; } - (void) prepareForSegue: (UIStoryboardSegue *) segue remitente: (id) {emisor si ([segue.identifier isEqualToString: @ "buscar"]) { ViewController * viewController = [segue destinationViewController]; viewController.query = [NSString stringWithFormat: @ "% @", search.text]; [viewController release]; }} –

Cuestiones relacionadas