【发布时间】:2011-03-23 07:05:54
【问题描述】:
我有一个用对象填充的 mutableArray。当我尝试重新填充数组时,我首先使用 removeAllObjects - 这会产生内存泄漏......
对象的属性在dealloc时被合成、保留和释放。
数组在 viewDidLoad 上初始化如下:
theArray = [[NSMutableArray alloc] initWithCapacity:10];
...它被保留和合成。 (@property (nonatomic, retain) NSMutableArray *theArray)
我正在像这样在 while 循环中添加对象:
myObject *theObject = [[myObject alloc] init];
theObject.someProperty = @"theprop";
[theArray addObject: theObject];
[theObject release];
然后在下一次调用该方法时,我会像这样删除所有对象:
[theArray removeAllObjects];
这就是泄漏发生的地方。如果我将此行注释掉,则不会出现泄漏。所以我猜我的对象做错了什么?
【问题讨论】:
-
如果只是实例化myObject然后单独释放会不会有泄漏?
标签: iphone memory-leaks nsmutablearray