【发布时间】:2011-04-01 02:02:44
【问题描述】:
我有一个关于NSMutableArray 的内存管理的问题。我创建了一个自定义类的对象并将这个对象添加到NSMutableArray。这会自动保留,以便我可以释放我创建的对象吗?
谢谢!
【问题讨论】:
标签: ios memory-management nsmutablearray
我有一个关于NSMutableArray 的内存管理的问题。我创建了一个自定义类的对象并将这个对象添加到NSMutableArray。这会自动保留,以便我可以释放我创建的对象吗?
谢谢!
【问题讨论】:
标签: ios memory-management nsmutablearray
是的,它会自动保留。您应该在将对象添加到数组后释放它(或使用 autorelease)
例如:
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:[[[MyClass alloc] init] autorelease]];
// or
MyClass * obj = [[MyClass alloc] init];
[array addObject:obj];
[obj release];
【讨论】:
是的,例如,您可以这样做:
NSMutableArray *array = [[NSMutableArray alloc] init];
NSString *someString = @"Abc";
[array addObject:someString];
[someString release];
NSLog(@"Somestring: %@", [array objectAtIndex:0]);
【讨论】: