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)
}