Hallo,
ich habe folgendes Phänomen. 1.'ter NSViewController übergibt Daten mit prepare(for segue: NSStoryboardSegue, sender: Any?) an einen 2.'ten NSViewController. Dort hat der Benutzer die Möglichkeit die Daten zu evaluieren und die Daten mit ein "OKAY" zu bestätigen. Dieses "OKAY" soll an den aufrufenden 1.'ten ViewController zurückgesendet werden. Nur bei diesem kommt der String nicht an.
Folgende Schritte habe ich für die Datenrückgabe durchgeführt:
- Im 2.'ten NSViewController ein Protokoll eingefügt und einen Verweis (weak var delegate:ViewController?) hergestellt
- Im 1.'ten NSViewController die Klassendefinition um das Protokoll ergänzt (class ViewController: NSViewController, DisplayViewControllerDelegate)
- Des Weiteren im 1.'ten ViewController eine Funktion (func doSomethingWith(data: String)) die i. A. nur den empfangenen String data ausgibt hinzugefügt.
- Den 2.'ten Viewcontroller verlasse ich mit einem Button (Action). Dachte nun es reicht wenn ich die Protokollfunktion mit den entsprechenden Daten
befühle (delegate?.doSomethingWith(data: "OKAY")) und den 2.'ten ViewController via dismss() beende.
Doch im 1.'ten ViewController kommt das "Okay" nicht an. Was übersehe ich hier?
P.S.:Muss die App nur ergänzen. Insofern bitte keine Verbesserungsvorschläge hinsichtlich des Ablaufs. Danke
ich habe folgendes Phänomen. 1.'ter NSViewController übergibt Daten mit prepare(for segue: NSStoryboardSegue, sender: Any?) an einen 2.'ten NSViewController. Dort hat der Benutzer die Möglichkeit die Daten zu evaluieren und die Daten mit ein "OKAY" zu bestätigen. Dieses "OKAY" soll an den aufrufenden 1.'ten ViewController zurückgesendet werden. Nur bei diesem kommt der String nicht an.
Folgende Schritte habe ich für die Datenrückgabe durchgeführt:
- Im 2.'ten NSViewController ein Protokoll eingefügt und einen Verweis (weak var delegate:ViewController?) hergestellt
- Im 1.'ten NSViewController die Klassendefinition um das Protokoll ergänzt (class ViewController: NSViewController, DisplayViewControllerDelegate)
- Des Weiteren im 1.'ten ViewController eine Funktion (func doSomethingWith(data: String)) die i. A. nur den empfangenen String data ausgibt hinzugefügt.
- Den 2.'ten Viewcontroller verlasse ich mit einem Button (Action). Dachte nun es reicht wenn ich die Protokollfunktion mit den entsprechenden Daten
befühle (delegate?.doSomethingWith(data: "OKAY")) und den 2.'ten ViewController via dismss() beende.
Doch im 1.'ten ViewController kommt das "Okay" nicht an. Was übersehe ich hier?
P.S.:Muss die App nur ergänzen. Insofern bitte keine Verbesserungsvorschläge hinsichtlich des Ablaufs. Danke