我有很多 View Controller 。
并且它们都有许多保留的属性。
因此,我会将这些代码添加到每个 viewControllers 中:
- (void)viewDidUnload {
self.every_retained_property = nil;
[super viewDidUnload];
}
- (void)dealloc {
[every_retained_property release];
[super dealloc];
}
到目前为止,我的应用程序一切顺利。
可是我听说了,
a_retained_property = newValue;
// equals to
[a_retained_property release];
a_retained_property = [newValue retain];
所以如果我已经在 viewDidUnload 中将 a_retained_property 设置为 nil,
有必要在dealloc中释放a_retained_property吗,就像我在做的那样?
我只是想知道。
谢谢!
最佳答案
这样说对你没有任何伤害。但是
a_retained_property = newValue;
不等同于:
[a_retained_property release];
a_retained_property = [newValue retain];
你应该使用:
self.a_retained_property = newValue;
关于ios - 有点想知道ios上的内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9433107/