我有一个关于NSMutableArray
的内存管理的问题。我创建了自定义类的对象,并将此对象添加到NSMutableArray
。这会自动保留,以便我可以释放我创建的对象吗?
谢谢!
答案 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]);