Buscar..


Una visión general

De la documentación de Apple:

Un objeto UIStoryboardSegue es responsable de realizar la transición visual entre dos controladores de vista . Además, los objetos segue se utilizan para preparar la transición de un controlador de vista a otro. Los objetos Segue contienen información sobre los controladores de vista involucrados en una transición . Cuando se activa un segmento, pero antes de que se produzca la transición visual, el tiempo de ejecución del guión gráfico llama al método prepareForSegue: sender: del controlador de la vista actual para que pueda pasar los datos necesarios al controlador de la vista que está a punto de mostrarse.


Atributos

Rápido

sourceViewController: UIViewController {get}
destinationViewController: UIViewController {get}
identifier: String? {get}

Referencias:

Preparando su controlador de vista antes de disparar un Segue

PrepareForSegue :

 func prepareForSegue(_ segue:UIStoryboardSegue, sender sender:AnyObject?) 

Notifica al controlador de vista que un segmento está a punto de realizarse.

Parámetros

segue : el objeto segue.

remitente : El objeto que inicializó el segue.

Ejemplo en Swift

Realizar una tarea si el identificador del segmento es "SomeSpecificIdentifier"

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "SomeSpecificIdentifier" {
        //- Do specific task
    }
}

Decidir si se debe realizar un Segue invocado.

ShouldPerformSegueWithIdentifier :

 func shouldPerformSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?) -> Bool 

Determina si se debe realizar el segmento con el identificador especificado.

Parámetros

Identificador : Cadena que identifica el segmento desencadenado.

Remitente : El objeto que inicializó el segue.

Ejemplo en Swift

Solo realice segue si el identificador es "SomeSpecificIdentifier"

override func shouldPerformSegueWithIdentifier(identifier:String, sender:AnyObject?) -> Bool {
    if identifier == "SomeSpecificIdentifier" {
        return true
    }
    return false
}

Usando Segues para navegar hacia atrás en la pila de navegación


Desenrollar Segues

Desenrollar los Segues le da una manera de "desenrollar" la pila de navegación y especificar un destino al que volver. La firma de esta función es clave para que Interface Builder la reconozca. Debe tener un valor de retorno de IBAction y tomar un parámetro de UIStoryboardSegue . El nombre de la función no importa. De hecho, la función ni siquiera tiene que hacer nada. Simplemente está ahí como un marcador de cuál UIViewController es el destino de la Segue de Desenrollamiento. [fuente] [1]

Firma requerida de un segue desenrollado

C objetivo:

-(IBAction)prepareForUnwind:(UIStoryboardSegue *)segue {
}

Rápido:

@IBAction func prepareForUnwind(segue: UIStoryboardSegue) {
}

Segue de disparo programáticamente

PerformSegueWithIdentifier:

 func performSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?)

Inicia el segmento con el identificador especificado del archivo de guión gráfico del controlador de la vista actual

Parámetros

Identificador : Cadena que identifica el segmento desencadenado.

Remitente : El objeto que iniciará el segue.

Ejemplo en Swift

Realización de un segmento con el identificador "SomeSpecificIdentifier" desde una selección de fila de vista de tabla:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    performSegueWithIdentifier("SomeSpecificIdentifier", sender: indexPath.item)
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow