2010-06-01 16 views
5

Jestem trochę ciekawy, mam klasę kontrolera widoku i NIB/XIB (oba nazywane są "MapViewController"). Jeśli wykonam co następuje, ładuje NIB z pasującą nazwą.i ładowanie plików NIB/XIB?

-(id)init { 
    self = [super initWithNibName:@"MapViewController" bundle:nil]; 
    if(self) { 
     do things ... 
    } 
    return self; 
} 

jeśli z drugiej strony po prostu określić [Super startowych] nie Xcode wystarczy spojrzeć na NIB, który pasuje do nazwy kontrolera jest to, że, jak to działa?

-(id)init { 
    self = [super init]; 
    if(self) { 
     do things ... 
    } 
    return self; 
} 

Pozdrawiamy Gary.

Odpowiedz

7

Z dokumentacji:

Jeśli podasz zero dla parametru nibName i nie zastępują metodę loadview w Twojej podklasy, widok domyślny kontroler zachowanie jest szukać pliku nib , którego nazwa (bez rozszerzenia .nib ) jest zgodna z nazwą kontrolera widoku . Jeśli znajdzie numer , nazwa klasy stanie się wartością właściwości nibName, co spowoduje, że w odpowiednim pliku nib będzie powiązany z tym kontrolerem widoku.

+0

Dziękuję, widzę to teraz, patrzyłem pod init i gubiłem się. – fuzzygoat

1

nie Xcode wystarczy spojrzeć na NIB że dopasowuje nazwę kontrolera

dość dużo:

Jeśli podasz zero dla parametru nibName i nie zrobić przesłonić metodę loadView w niestandardowej podklasie , domyślnym zachowaniem kontrolera widoku jest zachowanie plik nib , którego nazwa (bez rozszerzenia .nib ) jest zgodna z nazwą kontrolera widoku . Jeśli znajdzie numer , nazwa klasy stanie się wartością właściwości nibName, co spowoduje, że w odpowiednim pliku nib będzie powiązany z tym kontrolerem widoku.

3

Tak, w tym przypadku zadziała. Według UIViewController, nazywając init jest podobny do wywoływania initWithNibName:bundle: z nil jak nazwa stalówki:

Jeśli podasz zero dla parametru nibName i nie zastępują metodę loadview w zwyczaju podklasy, widok domyślny zachowanie kontrolera polega na wyszukiwaniu pliku końcówki , którego nazwa (bez rozszerzenia .nib ) jest zgodna z nazwą kontrolera widoku . Jeśli znajdzie numer , nazwa klasy stanie się wartością właściwości nibName, co spowoduje, że w odpowiednim pliku nib będzie powiązany z tym kontrolerem widoku.

Powiązane problemy