Ricerca…


Una panoramica

Dalla documentazione di Apple:

Un oggetto UIStoryboardSegue è responsabile dell'esecuzione della transizione visiva tra due controller di vista . Inoltre, gli oggetti segue vengono utilizzati per preparare la transizione da un controller di visualizzazione a un altro. Gli oggetti Segue contengono informazioni sui controller della vista coinvolti in una transizione . Quando viene attivato un seguito, ma prima che avvenga la transizione visiva, il runtime dello storyboard chiama il metodo readyForSegue: sender: method in modo che possa trasferire tutti i dati necessari al controller della vista che sta per essere visualizzato.


attributi

veloce

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

Riferimenti:

Preparare il tuo controller di visualizzazione prima di attivare un Segue

Preparare ForSegue :

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

Notifica al controller della vista che sta per essere eseguito un seguito

parametri

segue : L'oggetto segue.

mittente : l'oggetto che ha inizializzato il seguito.

Esempio in Swift

Esegui un'attività se l'identificativo del seguito è "SomeSpecificIdentifier"

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

Decidere se deve essere eseguita una Segue invocata.

ShouldPerformSegueWithIdentifier :

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

Determina se il follow con l'identificatore specificato deve essere eseguito.

parametri

Identificatore : stringa che identifica il seguito innescato

Mittente : l'oggetto che ha inizializzato il seguito.

Esempio in Swift

Esegui solo se l'identificatore è "SomeSpecificIdentifier"

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

Usare Segues per navigare all'indietro nella pila di navigazione


Rilassati Segues

Unwind Segues ti offre un modo per "srotolare" lo stack di navigazione e specificare una destinazione a cui tornare. La firma di questa funzione è fondamentale per Interface Builder che lo riconosce. Deve avere un valore di ritorno di IBAction e prendere un parametro di UIStoryboardSegue . Il nome della funzione non ha importanza. In effetti, la funzione non ha nemmeno bisogno di fare nulla. È lì solo come un marker di cui UIViewController è la destinazione del Segmento di Unwind. [Source] [1]

Firma richiesta di un seguito di svolgimento

Obiettivo C:

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

Swift:

@IBAction func prepareForUnwind(segue: UIStoryboardSegue) {
}

Trigger Segue Programmatically

PerformSegueWithIdentifier:

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

Inizia il seguito con l'identificatore specificato dal file storyboard del controller della vista corrente

parametri

Identificatore : stringa che identifica il seguito innescato

Mittente : l'oggetto che avvierà il seguito.

Esempio in Swift

Esecuzione di un seguito con identificatore "SomeSpecificIdentifier" da una selezione di righe di visualizzazione tabella:

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow