Ich habe eine Sicht in Interface Builder mit einigen Beschriftungen und Text als IBOutlets erstellt. Ich kann diesen Bildschirm perfekt sehen, wenn ich ihn von einer anderen Ansicht aus betrachte, die ich in meinem Storyboard definiert habe. Ich habe jedoch eine andere XIB und einen zugeordneten UIViewController, auf die ich von dieser Ansicht zugreifen möchte. Da mein XIB nicht im Storyboard ist, kann ich nicht darüber hinwegsehen. Stattdessen muss ich den Übergang programmgesteuert ausführen.iOS - Interface Builder Outlets nicht initialisiert
PlantDetailViewController *plantDetailVC = [[PlantDetailViewController alloc] init];
[self.currentNavigationController pushViewController:plantDetailVC animated:YES];
Wenn dieser Code ausgeführt wird, wechselt er in die Ansicht, aber die Ansicht ist leer. Ich habe den Code debugged und es kommt in ViewDidLoad und viewWillAppear aber alle meine IBOutlets sind NIL .... so nichts es auf dem Bildschirm angezeigt wird!
Kann mir jemand sagen, warum sie NIL sein könnten und wie ich sie initialisieren kann?
Dank
Brian
Danke für die Antwort Jona. Jedoch habe ich keine NIB für die Ansicht, die ich versuche zu laden. Die Ansicht ist in einem Storyboard definiert und von dem, was ich verstehe, gibt es keine NIB-Dateien im Storyboard. Korrigiere mich, wenn ich mich irre. –
Der Aufruf der 'init'-Methode von' UIViewController' ist identisch mit dem Aufruf von 'initWithNibName: nil bundle: nil'. Wenn es eine Nib mit demselben Namen wie die Klasse des View-Controllers gibt (oder denselben Namen ohne das Wort "Controller" am Ende), lädt der View-Controller diese Nib in 'loadView'. –