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