Warum wird nicht mein awakeFromNib Feuer?

Bin ich angefangen mehr zu bewegen, von meiner Sicht Hierarchie Bau IB.

Habe ich eine nib-Datei namens "AlignmentViewController.xib", in dem ich meine Sicht Hierarchie mit AlignmentViewController die Dateien, die Besitzer. Dies funktioniert sehr gut.

Einer der Methoden, die ich bleiben unscharf ist awakeFromNib. In der folgende code-snippet AlignmentViewController ich hinzufügen, die einzige zusätzliche Methode awakeFromNib. Allerdings wird es NICHT aufgerufen:

- (void)awakeFromNib {

   NSLog(@"AlignmentViewController - awakeFromNib");
   [super awakeFromNib];

}

- (id)initWithChromosomeName:(NSString *)chromosomeName 
               basepairStart:(NSUInteger)basepairStart 
                 basepairEnd:(NSUInteger)basepairEnd {

    self = [self initWithNibName:@"AlignmentViewController" bundle:nil];

    if (nil != self) {


        self.title          = @"Alignment";

        self.chromosomeName = chromosomeName;
        self.basepairStart  = basepairStart;
        self.basepairEnd    = basepairEnd;

        self.wantsFullScreenLayout = YES;

    }

    return self;
}

Kann jemand klären für mich, was ich hier verpasst?

Cheers,
Doug

UPDATE:
Nach der Lektüre einige der Antworten erkenne ich, dass ich brauchen, um an die Unterseite von etwas, das ist ziemlich fundamental.

Suchen bei der Initialisierung:

- (id)initWithChromosomeName:(NSString *)chromosomeName 
               basepairStart:(NSUInteger)basepairStart 
                 basepairEnd:(NSUInteger)basepairEnd {

    self = [self initWithNibName:@"AlignmentViewController" bundle:nil];

Ich merke, ich rufe initWithNibName:bundle: indirekt. Ist diese schlechte Praxis? Die AlignmentViewController.xib-Datei definiert meine Ansicht-Hierarchie. Aber ich bin nicht wirklich mit initWithNibName:bundle: in der typischen Art? Gibt es einen besseren Weg, dies zu tun?

FWIW, UIViewController bietet auch viewDidLoad speziell für die Verarbeitung, die Sie tun müssen, um in Ihrem controller, nachdem der view geladen wurde (ob manuell oder durch eine Feder).
Ja. Ich umfangreichen Gebrauch von viewDidLoad. Ich bin nur versuchen, sich mehr zu bewegen UI-Bau-IB, und ich benötigen, um mit awakeFromNib irgendwann.
Verwendung von IB nicht Mandat, Einsatz von awakeFromNib noch es widerspricht Einsatz von viewDidLoad.

InformationsquelleAutor dugla | 2009-10-19

Schreibe einen Kommentar