NSMutableArray memory management
Posted
by chicken
on Stack Overflow
See other posts from Stack Overflow
or by chicken
Published on 2009-01-19T00:36:48Z
Indexed on
2010/05/20
3:50 UTC
Read the original article
Hit count: 235
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];
Ok so a2 is an autorelease obj so i dont have to call release on it? Also how do you know when you get an autorelease object?
And for a1, i dont have to loop through the array and release each object first? What if i called [a1 removeAllObjects]; does that call [[a1 objectAtIndex:#] release];
Am i supposed to release those objects after ive added them to the array?
© Stack Overflow or respective owner