2016-07-09 19 views
1

Ich möchte wissen, wie Sie Daten, wie Werte, von einem zweiten View-Controller in den ersten View-Controller übergeben. Ich machte einen einfachen Übergang vom ersten zum zweiten. Ich weiß einfach nicht, wie ich es rückwärts machen soll.Übergeben von Daten aus der zweiten Ansicht in die erste Ansicht Controller

Ich habe einen Blick auf meinen ersten Controller und einen Blick auf den zweiten. Ich möchte die Änderungen von der zweiten Ansicht in die Ansicht auf dem ersten Controller übertragen, wenn ich auf einen benutzerdefinierten Zurück-Button klicke, den ich gemacht habe. Wie gehe ich vor?

Ich weiß, es hat etwas zu tun, mit Abwicklungssegen, aber alles, was ich nachschlagen ist sehr unklar und verwirrend.

+0

Siehe "Zurückgeben von Daten" in http://stackoverflow.com/a/9736559/1271826. Oder lesen Sie in den Antworten andere Referenzen. – Rob

Antwort

0

Um es rückwärts zu tun, könnten Sie es mit delegate oder blocks wie was @Rob in den Kommentaren verknüpft tun.

Sie können auch eine Abwicklungsstrecke machen, wie Sie es nennen. Wie bei einem einfachen Übergang kann das Abwickeln von Daten helfen, Daten vom zweiten Ansichtscontroller an den ersten Ansichtscontroller in prepareForSegue weiterzuleiten.

Beispiel Sie haben eine ViewControllerA, die an die ViewControllerB übergehen. Diesmal möchten Sie das Abwicklungssegment für ViewControllerB auf ViewControllerA einstellen. Bevor Sie das Storyboard einrichten, müssen Sie die @IBAction in ViewControllerA die UIViewController, die Sie auf ViewControllerB nicht abwickeln möchten, einrichten. Etwas wie folgt aus:

@IBAction func cancelToViewControllerA(segue:UIStoryboardSegue) { 
} 

Im Storyboard, am ViewControllerB Steuerelement ziehen die button, die den Abwickler segue zum exit anrufen und wählen cancelToViewControllerA. Dann geben Sie ihm einen Namen für das Abwicklungssegment. In ViewControllerB überschreiben Sie prepareForSegue wie das, was Sie getan haben, um Daten weiterzuleiten, um die Daten für das Abwicklungssegment festzulegen.

+0

In Ihrem letzten Satz sagen Sie: "In ViewControllerB überschreiben prepareForSegue wie das, was Sie getan haben, um Daten weiterzuleiten, um die Daten für das Abwicklungssegment festzulegen." Kann ich diesen Teil etwas weiter erklären? Wie überschreiben Sie die PrepareForSegue-Routine, um Daten ähnlich an die Weiterleitung zu übergeben? – lopezdp