我有一个视图控制器作为导航控制器堆栈的一部分与两个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