2011-03-14 44 views
0

在模板蘋果給你,我看到他們有:iPhone編程

/* 
- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
} 
*/ 

我明白你希望你的父類到你自己的看法之前做的視圖的任何負載。對於viewDidDisappear,你是否出於同樣的原因做同樣的事情?

- (void)viewDidDisappear:(BOOL)animated { 
    [super viewDidDisappear:animated]; 
} 

謝謝。

回答

1

是的,總是首先調用超類方法來完成它,然後您可以在繼承的類方法中重寫任何行爲。

唯一的例外是dealloc方法,您應該在最後調用[super dealloc]以確保在任何引用丟失並導致內存泄漏之前清除了自己的類。

0

我會說事情應該總是以相反的順序分解開來。您在viewWillAppear開頭撥打[super viewWillAppear:animated],以便超級班有機會設置默認操作,然後您有機會進行修改。

對於[super viewDidDisappear:animated]的呼叫,您應該在呼叫super之前在viewDidDisappear的末尾呼叫您的消失碼。這樣,如果您有任何對默認視圖內容的引用,它們在完成之前不會被釋放。如果你沒有在超類中使用任何東西,那麼這可能是無關緊要的。