Zunächst einmal sollten Sie nie ein Label verwenden, um "zu tragen Informationen". Das Übergeben von Daten an einen Ansichtscontroller sollte über eine Variable wie z. B. eine Zeichenfolge, ein int oder ein benutzerdefiniertes Objekt usw. in dem präsentierten Ansichtscontroller erfolgen. Dann können Sie diese Daten anzeigen, wenn der View-Controller erfolgreich geladen wurde. Wenn Sie sich das Lernvideo ansehen, zu dem Sie verlinken, macht der Präsentator genau das. Er gibt die Daten durch eine Zeichenfolge, nicht durch ein Label. Er lädt die Zeichenfolgedaten in das Etikett, wenn der Ansichtscontroller geladen wird.
Wenn der anzuzeigende View-Controller als Popover angezeigt werden soll, ändern Sie einfach die Art der Segmentdarstellung, um Popover in Interface Builder zu verwenden. Sie übergeben die Zeichenfolge in der prepareForSegue:
-Funktion genau so, wie er es Ihnen im Lernprogramm sagt. Alles, was Sie brauchen, ist in diesem Tutorial. Die einzige Sache, die Sie wirklich ändern müssen, ist die Art der Präsentation des zweiten View-Controllers - die "Present as Popover" anstelle von "Show (z. B. Push)" sein sollte.
aktualisieren
Ihre Frage zeigt Ihnen noch nicht verstanden haben, wie Model-View-Controller funktioniert. Der View-Controller, den Sie anzeigen möchten, muss eine Variable enthalten, die einfach die Daten (Modell) speichert, bis es Zeit ist, sie anzuzeigen (View/View-Controller). Sehen Sie sich Ihr Video an und hören Sie zu, wie eine String-Variable mit der Bezeichnung LabelText
angesprochen wird (eigentlich sollte sie labelText
heißen, um der richtigen Swift-Syntax zu entsprechen, aber das ist eine andere Diskussion). Er fängt an, es etwa 10 Minuten zu diskutieren. Es ist in der prepareForSegue:
Funktion, wo er die Variable setzt. Innerhalb des neuen View-Controllers zeigt er dann den Inhalt der String-Variablen im Textfeld eines Labels an. Stellen Sie sich die String-Variable als "Platzhalter" vor, auf den Sie sich beziehen.
Vielleicht, wenn Sie den Code zur Verfügung gestellt haben, den Sie verwenden und nicht funktioniert. Im Allgemeinen wird versucht, das Model - View - Controller - Paradigma durchzusetzen. Ihre Daten sollten also alle in Ihrem Modell enthalten sein. Vielleicht sollte Ihr Modell Ihren Status enthalten (Sie benötigen ein Popup-Feld mit Text). Dann ruft Ihr Controller die Ansicht auf .. oder was auch immer. Selbst wenn du in deinem Design schimpfen willst ... ein Label ist sowieso nur Text, also solltest du es gut überbringen können. – LawfulEvil