Memory management in objective-c
Posted
by prathumca
on Stack Overflow
See other posts from Stack Overflow
or by prathumca
Published on 2010-03-11T09:59:27Z
Indexed on
2010/03/12
19:07 UTC
Read the original article
Hit count: 587
I have this code in one of my classes:
- (void) processArray
{
NSMutableArray* array = [self getArray];
. . .
[array release];
array = nil;
}
- (NSMutableArray*) getArray
{
//NO 1:
NSMutableArray* array = [[NSMutableArray alloc]init];
//NO 2:
NSMutableArray* array = [NSMutableArray array];
. . .
return array;
}
NO 1: I create an array and return it. In the processArray
method I release it.
NO 2: I get an array by simply calling array
. As I'm not owner of this, I don't need to release it in the processArray
method.
Which is the best alternative, NO 1 or NO 2? Or is there a better solution for this?
© Stack Overflow or respective owner