我的数组包含mutableCopy中Store类型的对象。我释放数组,在释放数组之前释放所有对象吗?
NSMutableArray *stores=[[NSMutableArray alloc]init];
[stores addObject:[store1 mutableCopy]];
[stores addObject:[store2 mutableCopy]];
[stores addObject:[store3 mutableCopy]];
...
[stores release];
答案 0 :(得分:6)
如果您不使用ARC,则需要在某个时刻释放对象,因为- mutableCopy
方法会创建一个保留计数为+1的新对象。为避免泄漏,您应该写:
[stores addObject:[[store1 mutableCopy] autorelease];
现在,没有理由不使用ARC。如果您使用ARC,那么就没事了,您也不会在任何事情上致电- release
。
答案 1 :(得分:4)
是
您应该使用:
[stores addObject:[[store1 mutableCopy] autorelease]];