2010-08-12 49 views
4

我以前曾問過這個問題,但我越看到其他代碼示例,就越能發現佈局上的差異。通常我嘗試把呼叫超在啓動(如果它的創作類型的方法),或在結束(如果它的破壞類型的方法)(見下文......)將呼叫置於超級?

-(void)viewDidLoad { 
    [super viewDidLoad]; 
    ... 
    ... 
} 

-(void)viewDidUnload { 
    ... 
    ... 
    [super viewDidUnload]; 
} 

我看到的另一種方法似乎總是把方法結束時調用超級方法。 (見下面...)我的問題是重要嗎?

-(void)viewDidLoad { 
    ... 
    ... 
    [super viewDidLoad]; 
} 

-(void)viewDidUnload { 
    ... 
    ... 
    [super viewDidUnload]; 
} 

乾杯加里。

回答

3

我會說,它通常不打緊,除非:

  • 的方法是做實例變量(這通常viewDidLoad不會做的初始化,因爲這是該init方法的工作),在這種情況下,super呼叫應該在一開始。
  • 該方法正在做取消分配的實例變量,在這種情況下super調用應該在最後。
  • 該方法正在傳遞某種事件,例如,通過一個響應者鏈,在這種情況下,你實際上根本不會使用super的呼叫(但模式相似),並且你最終將呼叫置於其中。

雖然我可能錯過了一些重要的案例。

+0

謝謝大衛,非常感謝。 – fuzzygoat 2010-08-13 09:31:05