2017-04-27 3 views
0

Ich möchte meine UILabel auf den Knopf ContainerView aktualisieren enthält Tabelle ViewController. Wenn ich dies versuche, zeigt UILabel's Steckdosenreferenz Nullwertausnahme an. Ich verwende Swift3 mit Xcode8Update UI von einem anderen Controller

+2

Können Sie Ihren Code und die Zeile, wo er abstürzt, posten? – redent84

+0

Sie möchten einige Änderungen an uilabel vornehmen, die sich in einem anderen View-Controller befinden. Wenn dies der Fall ist, tritt dieses Problem auf, was Sie erwähnt haben. Diese Ansicht befindet sich nicht in der View-Hierarchie. Um Ihr Problem zu lösen, könnten Sie dies zuvor verwenden Zugriff auf Ihr Label var v = yourViewController.view –

Antwort

2

Wahrscheinlich ist das Problem, das Sie sehen, aufgrund der Tatsache, dass die Ansicht, die dieses Label auf einem anderen View-Controller besitzt, immer noch nicht geladen ist.
Dies passiert oft, im Grunde, weil Ansichten, die einem View-Controller gehören, auf faule Weise instanziiert werden, das bedeutet, dass sie nur bei Bedarf geladen werden.
Um das zu beheben, bevor Sie den Wert auf dem Etikett festlegen, laden Sie die Ansicht einfach vor, indem Sie etwas wie.

_ = another_viewcontroller_instance.view 

Auf diese Weise können Sie die Ziel-View-Controller zwingen die Ansicht und die Schaffung all notwendige Verbindung auf dem xib zu laden.
Auch wenn dieser Fix funktioniert, ist dies kein guter Weg, um mit dieser Art von Muster umzugehen (Senden von Informationen von einem VC zu einem anderen), aber da Sie uns keine weiteren Details gegeben haben, ist dies die einzige Lösung, die ich habe.

Verwandte Themen