【发布时间】:2011-10-06 05:19:35
【问题描述】:
我在 UIViewController 中释放 NSMutableArray 时出现内存泄漏,该控制器会旋转,然后在 ViewDidLoad 中分配并初始化数组,向其中添加对象;然后当视图关闭时:它的 dealloc() 释放每个数组对象,然后释放数组。
通常会导致泄漏。
我的基本结构:...
...m file:
NSMutableArray* foo;
@implementation ....
viewDidLoad
{
[[foo alloc] init];
...
}
dealloc
{
for i = each foo object:
[foo objectAtIndex: i] release];
[foo release];
}
...
【问题讨论】:
-
你真的需要运行一个for循环来释放每个对象吗?我相信当数组本身被释放时,会向数组中的每个项目发送
release消息。 -
请添加实际代码。因此,您不需要释放已添加到数组中的对象。 Array 保留它们,并在释放时释放它们。
-
@Deepak 你投了我的票吗
标签: ios memory-leaks nsmutablearray