Zwei View-Controller an den Ausgang weitergeben müssen:Kommunikation zwischen View-Controller, nicht in der Lage auf den Daten des zweiten View-Controller
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (sender as! cell1).name.text == "ww"{
let s = segue.destination as! DetailViewController
s.detail?.text = "wwwwwwwwwww"
}
}
Ich bin neu in Codierung. Was ich hier versuche, ist zwischen den View-Controllern zu kommunizieren. Aus irgendeinem Grund kann ich die wwwwwwwwwww
im Etikett des zweiten View-Controllers nicht anzeigen
Dank. Aber ist 'Detail' auch keine Eigenschaft von DetailViewController. Eine Steckdose zu sein, ist nur eine weitere Möglichkeit, sie zu aktualisieren. – jsr
Ja, aber "Detail" -Eigenschaft ist ein Interface Builder Outlet, das bis zu den viewDidLoad-Methoden null ist (seit dieser Zeit wurde die Ansicht noch nicht geladen, also keine ihrer Ausgänge sind an den code noch gebunden), nach viewDidLoad kann man auf die detail -Eigenschaft zugreifen, die in deinem Fall ein UILabel darstellt, aber vorher nicht. Und da performSegue vor dem DetailsVc viewDidLoad stattfindet, können Sie zu diesem Zeitpunkt nicht auf das Label "detail" aus dem Code zugreifen. – danieltmbr
Lebenszyklus eines UIViewController: https://stackoverflow.com/questions/5562938/looking-to-understand-the-ios-uiviewcontroller-lifecycle – danieltmbr