2011-09-16 16 views
5

[dispiace per il mio debole inglese]dovrei chiamare [super superMethod] dopo il mio codice o prima?

La domanda è semplice (ma non ho problemi a esprimerla e trovandolo in google) ...

Dovrei (in tutti i casi analoghi, quando ho ignorare il metodo super, non solo questo) usare:

- (void)viewDidLoad 
{ 
    /* 
     my code 
    */ 

    [super viewDidLoad]; 
} 

o

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    /* 
     my code 
    */ 
} 

o dipende?

+0

In generale, la chiamata "super" deve essere all'inizio della routine quando si "accumula" e alla fine quando si "abbatte". –

risposta

1

Dipende dal metodo; per esempio. -[super init] (prima) vs -[super dealloc] (dopo).

+0

tutto bene TNX, ma qualcuno dovrebbe forse dire di più su questo argomento qui :) – fir

+0

Scopri la risposta di Justin. – Wevah

6

in alcuni casi l'ordine non ha importanza. in altri, l'ordine è fondamentale.

alcune generalizzazioni che vi aiuterà:

  • quando si sta costruendo una parte dell'oggetto Stato (viewDidLoad e init...), chiamata attraverso super prima.
  • quando si sta distruggendo una parte dello stato dell'oggetto (viewDidUnload o dealloc), chiamare per ultimo lo super.
  • se sono certo che l'ordine non ha importanza, quindi mi limito a chiamare prima tramite super per un'organizzazione più semplice.
Problemi correlati