Sie sollten @IBOutlet Eigenschaft auf Ihre UIViewController Klasse hinzuzufügen.
class YourViewController: UIViewController {
@IBOutlet weak var label: UILabel! // link it with UILabel in the storyborad.
}
Dann können Sie einen Zugang zu UILabel haben:
if let page = UIStoryboard().instantiateViewController(withIdentifier: "features_view_controller") as? YourViewController {
page.label //your label, which is currently nil, because the view controller still does not draw view.
}
Aber wenn Sie Update benötigen, beispielsweise das Etikett Text, dann sollten Sie „Datentransferobjekt“ vorbereitet und es passieren zu Ihrem View-Controller. Nachdem die Ansicht geladen wurde, können Sie UILabel aktualisieren. Beispiel unten:
class YourViewController: UIViewController {
@IBOutlet weak var label: UILabel!
var text: String? //text for label.
override func viewDidLoad() {
super.viewDidLoad()
label.text = text
}
}
if let page = UIStoryboard().instantiateViewController(withIdentifier: "features_view_controller") as? YourViewController {
page.text = "Test"
//show page (present or push view controller) or manually send command for drawing view (page.view)
}
var label = Seite .nameOfUrLabel –
Sie das Etikett durch Kennung nicht zugreifen können, wäre einfacher Option, eine @IBOutlet in Ihrem Viewcontroller zu erstellen und dann zugreifen. – suhit