Also entwickle ich eine App und lerne gleichzeitig schnell. Ich habe herausgefunden, wie man Daten von secondViewController an den firstViewController sendet. Im Wesentlichen habe ich den "done" -Button mit dem firstViewController verknüpft. Wenn ich "Done" drücke, öffnet sich ein neues Fenster des ersten viewControllers und die Daten, die ich übergeben habe.Swift: Daten an einen vorherigenViewController übergeben, ohne den viewController in einem neuen Fenster zu öffnen
Ich bin jedoch auf der Suche nach einer Möglichkeit, den FirstViewController zu aktualisieren, ohne ein anderes Fenster mit einem anderen Segment geöffnet zu haben.
Der beste Weg, dies zu erklären, ist, dass mein FirstViewController eine "Hinzufügen" -Schaltfläche hat, die secondViewController öffnet. Dieser ViewController hat zwei Textfelder, du schreibst Sachen hinein (ich möchte, dass Zeug in diesen beiden Textboxen auf dem ersten ViewController erscheint) & dann, wenn du done drückst, wird der secondViewController beendet und du bist wieder auf dem erstenViewController.
Dies ist der Code, den ich verwende: (im secondViewController)
override func prepare(for segue: NSStoryboardSegue, sender: Any?) {
var destinationviewcontroller : ViewController = segue.destinationController as! ViewController
destinationviewcontroller.LabelText = weblinklabel.stringValue
}
Offensichtlich labeltext
ist ein Label in dem firstviewcontroller, das zeigt, was in diesen Textfeldern in dem secondViewController geschrieben.
Das Problem ist, wenn ich Storyboard verwenden und einfach von "Fertig" -Taste auf den FirstViewController ziehen, öffnet es den FirstViewController in einem neuen Fenster mit den neuen Daten/aktualisiert labeltext
. Ich möchte, dass der secondViewController gerade beendet wird, wenn ich "Fertig" drücke und das aktualisierte Etikett auf dem erstenViewController erscheint, ohne dass es im neuen Fenster geöffnet wird.
Es ist ein bisschen schwierig zu erklären, also wenn Sie mehr Details zur Klärung benötigen, werde ich mehr als glücklich sein, es zu geben!
Vielen Dank im Voraus!
Klingt wie Sie [entspannen Segues] verwenden sollten (http://stackoverflow.com/questions/12561735/what-are-unwind-segues-for-and -how-do-you-use-them # 12843906) – PeejWeej