Suche…


Ein Überblick

Aus der Apple-Dokumentation:

Ein UIStoryboardSegue-Objekt ist dafür verantwortlich , den visuellen Übergang zwischen zwei Ansichtscontrollern auszuführen. Darüber hinaus werden Segue-Objekte verwendet, um den Übergang von einem View-Controller zu einem anderen vorzubereiten. Segue-Objekte enthalten Informationen zu den View-Controllern, die an einem Übergang beteiligt sind . Wenn ein Segment ausgelöst wird, der visuelle Übergang jedoch nicht erfolgt, ruft die Storyboard-Laufzeitumgebung die Methode PreparForSegue: sender: des aktuellen View-Controllers auf, damit er alle erforderlichen Daten an den View-Controller übergeben kann, der gerade angezeigt wird.


Attribute

Schnell

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

Verweise:

Vorbereiten des View Controllers vor dem Auslösen eines Segue

PrepareForSegue :

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

Benachrichtigt den View-Controller, dass ein Segment gerade ausgeführt wird

Parameter

segue : Das segue-Objekt.

Sender : Das Objekt, das das Segment initialisiert hat.

Beispiel in Swift

Führen Sie eine Aufgabe aus, wenn der Bezeichner des Segues "SomeSpecificIdentifier" lautet.

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

Entscheidung, ob eine aufgerufene Segue ausgeführt werden soll.

ShouldPerformSegueWithIdentifier :

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

Legt fest, ob das Segment mit der angegebenen Kennung ausgeführt werden soll.

Parameter

Bezeichner : Zeichenfolge, die den ausgelösten Abschnitt angibt

Sender : Das Objekt, das das Segment initialisiert hat.

Beispiel in Swift

Führen Sie Segue nur durch, wenn der Bezeichner "SomeSpecificIdentifier" lautet.

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

Verwenden von Segues, um im Navigationsstapel rückwärts zu navigieren


Wickeln Sie Segues auf

Abwicklungssegmente geben Ihnen die Möglichkeit, den Navigationsstapel "abzuwickeln" und ein Ziel anzugeben, zu dem Sie zurückkehren möchten. Die Signatur dieser Funktion ist der Schlüssel zum Erkennen von Interface Builder. Es muss einen Rückgabewert von IBAction haben und einen Parameter von UIStoryboardSegue haben . Der Name der Funktion spielt keine Rolle. Tatsächlich muss die Funktion gar nichts tun. Es ist nur als Marker da, an dem UIViewController das Ziel des Unwind Segue ist. [Quelle] [1]

Erforderliche Signatur eines Abwicklungsabschnitts

Ziel c:

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

Schnell:

@IBAction func prepareForUnwind(segue: UIStoryboardSegue) {
}

Programmgesteuert auslösen

PerformSegueWithIdentifier:

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

Initiiert das Segment mit der angegebenen Kennung aus der Storyboard-Datei des aktuellen View-Controllers

Parameter

Bezeichner : Zeichenfolge, die den ausgelösten Abschnitt angibt

Sender : Das Objekt, das das Segue initiiert.

Beispiel in Swift

Ausführen eines Segues mit der Kennung "SomeSpecificIdentifier" aus einer Tabellenansicht-Zeilenauswahl

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow