2009-04-26 7 views
0

Ich habe einen View-Controller implementiert, und ich versuche, eine sehr grundlegende Initialisierung in initWithNibFile durchzuführen ... was ich als den initialisierten Initiator für View-Controller-Objekte verstehe.Trick zu bekommen initWithNibFile aufgerufen werden?

Ich habe versucht, Breakpoints auf den Code zu setzen, und habe auch sehr einfache NSLog-Anweisungen eingefügt. Ungeachtet ... Ich sehe nicht, dass es ausgeführt wird (und das Objekt, das ich in der Funktion zuzuteilen versuche, wird auch nicht zugewiesen - also bin ich zu 99% sicher, dass ich den Code nicht treffe.

gibt es etwas, das ich an anderer Stelle zu tun, diese Methode zu veranlassen, die aufgerufen werden soll?

ich einen bereinigter Build bekommen, keine Warnungen oder Fehler. und die App lädt bis erfolgreich die Ansicht, und ich kann ein aufrufen Button Methode, die ich habe zu diesem selben View Controller codiert und verbunden.

Irgendwelche Vorschläge geschätzt würde.

TC

+0

posten Sie bitte den Code, den Sie verwenden, um die nib zu laden – bpapa

Antwort

0

Ich habe schließlich meine Zuweisungslogik zu ViewDidLoad verschoben, und das funktioniert gut.

Nicht sicher, warum die initWithNibFile nicht funktionierte ... aber ich werde den kleinen Sieg nehmen !!!

Danke für das Angebot, den Code bpapa zu betrachten.

+0

initWithNibFile ist, wenn Sie eine Klasse erstellen, die direkt erstellt werden soll. Da alles, was Sie in eine NIB-Datei packen, ein serialisiertes Objekt ist, wird initWithNibFile niemals in der laufenden Anwendung aufgerufen. Aus diesem Grund haben Sie Delegate wie watchFromNib und viewDidLoad. –

0

Sie benötigen wahrscheinlich initWithCoder: Es ist, was das SDK verwendet, um aus NIB-Dateien während des Starts zu lesen.

initWithNibFile: wird fast nie vom System aufgerufen. Normalerweise rufen Sie dies manuell auf. Die Dokumentation ist in diesem Punkt ziemlich irreführend.

Auf jeden Fall vorsichtig sein auch viel Initialisierung in den initWithXXXX-Methoden. Die Ziele und Aktionen der Ansicht sind wahrscheinlich noch nicht eingerichtet und verbunden. viewDidLoad ist fast immer der richtige Ort, um ViewController Setup sowieso zu tun.

Verwandte Themen