【发布时间】:2010-10-02 03:46:36
【问题描述】:
NSMutableArray *a1 = [[NSMutableArray alloc] init];
NSMutableArray *a2 = [NSMutableArray array];
TempObj *obj = [[TempObj alloc] init]; //assume this line is repeated for each obj
[a1 addObject:obj];
[a1 addObject:obj2];
[a1 addObject:obj3];
[a1 addObject:obj4];
[obj release];
[obj2 release];
[obj3 release];
[obj4 release];
[a1 release];
好的,所以 a2 是一个自动释放 obj,所以我不必调用 release 吗?另外你怎么知道你什么时候得到一个自动释放对象?
对于a1,我不必循环遍历数组并首先释放每个对象吗?如果我调用 [a1 removeAllObjects]; 怎么办?是否调用 [[a1 objectAtIndex:#] release];
我应该在将这些对象添加到数组后释放它们吗?
【问题讨论】: