我可以释放添加到NSMutableArray的对象,还是会影响崩溃?

时间:2010-08-19 11:40:42

标签: ios memory-management nsmutablearray

我有一个关于NSMutableArray的内存管理的问题。我创建了自定义类的对象,并将此对象添加到NSMutableArray。这会自动保留,以便我可以释放我创建的对象吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

是的,会自动保留。您应该在将对象添加到阵列后释放它(或使用 autorelease

例如:

NSMutableArray *array = [[NSMutableArray alloc] init];

[array addObject:[[[MyClass alloc] init] autorelease]];

// or

MyClass * obj = [[MyClass alloc] init];

[array addObject:obj];

[obj release];

答案 1 :(得分:1)

是的,您可以这样做:

NSMutableArray *array = [[NSMutableArray alloc] init];
NSString *someString = @"Abc";
[array addObject:someString];
[someString release];
NSLog(@"Somestring: %@", [array objectAtIndex:0]);