我有一個視圖控制器作爲導航控制器堆棧的一部分與兩個IBOutlets。在viewDidUnload我釋放他們:我是否需要在dealloc中釋放IBOutlets?
- (void)viewDidUnload
{
self.myView1 = nil;
self.myView2 = nil;
[super viewDidUnload];
}
但我仍然有泄漏。所以我堅持發佈消息dealloc他們也:
- (void)dealloc
{
[myView1 release];
[myView2 release];
[super dealloc];
}
這似乎清除內存泄漏。但是,我總是被告知我應該只使用發佈我使用alloc,copy或new創建的ivars。所以我很擔心這兩個版本在這裏。這是對還是錯?有人可以向我解釋這一點,因爲我不斷收到矛盾的意見......謝謝!
謝謝。我聽說過「分配,複製或保留」的規則,但並沒有真正考慮到XIB在加載時保留它的事實。我會嘗試並將其刻入我的腦海! – jowie 2011-01-23 18:35:30