IOS7, Segue y guiones gráficos: ¿cómo crear sin un botón?

Actualmente tengo una Vista de inicio de sesión y una Vista de aplicación, he implementado con éxito la validación en la vista de inicio de sesión y necesito pasar de forma programática a la vista de la aplicación en la validación exitosa.

Entiendo que puedo agregar un segue al botón de inicio de sesión y luego llamarlo programáticamente así …

[self performSegueWithIdentifier:@"LoginSegue" sender:sender]; 

Pero, obviamente, esto se activará cada vez que se haga clic en el botón (A medida que se creó la transición adjunta al botón). Acabo de leer que debería crear un botón (Y ocultarlo) y luego hacer una llamada de progtwigción al segue – esto parece un poco ‘incorrecto’.

¿Cómo se puede crear una transición que no esté asociada a ningún evento de IU particular?

Eliminar el segue actual.

Adjunte la transición desde el controlador de vista de origen al destino (y luego asígnele un nombre).

Ahora, su método de presionar el botón debe verse más o menos así:

C objective:

 - (IBAction)validateLogin:(id)sender { // validate login if (validLogin) { [self performSegueWithIdentifier:@"mySegue" sender:sender]; } } 

Rápido:

 @IBAction func validateLogin(sender: UIButton) { // validate login if validLogin { self.performSegueWithIdentifier("mySegue", sender:sender) } } 

La clave aquí es que el controlador de vista de origen debe ser el que está arrastrando para crear el segue, no el botón o cualquier otro elemento de UI.

enter image description here

Personalmente, conecto TODOS mis segmentos de esta manera, incluso los que deberían desencadenar con simples pulsaciones de botón sin ninguna validación o lógica detrás de ellos. Es bastante fácil llamarlo desde el método del botón.

Y, por lo general, declaro todos mis nombres de segue como cadenas constantes en algún lugar del proyecto.