我不打算進入哪一個被調用的時間和原因。 (已經有很多了)代碼冗餘...我應該在dealloc中調用viewDidUnload
既然我們不能依靠viewDidUnload
在dealloc
之前被調用,我發現自己在這些方法之間有很多重複的代碼。
- (void)viewDidUnload {
[super viewDidUnload];
self.foo = nil;
self.bar = nil;
}
- (void)dealloc {
[super dealloc];
[foo release];
[bar release];
[abc release];
}
冗餘代碼,ick。任何人都知道更多這樣做的問題?
- (void)viewDidUnload {
[super viewDidUnload];
[foo release];
foo = nil;
[bar release];
bar = nil;
}
- (void)dealloc {
[super dealloc];
[self viewDidUnload];
[abc release];
}
當然,我得[super viewDidUnload]
額外的呼叫,但我想,這是一個非問題,因爲它只是做這將在dealloc
已經完成反正東西。我也換了viewDidUnload
,所以它沒有使用訪問器。
另外,如果你的父控制器也在做一些卸載,你應該在你的dealloc方法中調用[super dealloc],最後調用[super viewDidUnload]。我們有一些奇怪的錯誤是因爲首先調用[super dealloc] ....(而負載方法則相反 - 在執行其他操作之前調用[super load])。 – bandejapaisa 2011-10-10 11:41:36