自动释放后NSArray复制

时间:2014-03-20 15:24:09

标签: ios copy nsarray autorelease

我很好奇如果我有这样的代码会发生什么。

NSArray* myArray = [NSArray alloc]initWithObjects:@"a", @"b", @"c", nil];
[myArray autorelease];
myArray = [otherArray copy];

autorelease将标记要在当前事件循环结束时释放的内存。

这是否意味着[otherArray copy]在事件循环结束时被释放?

1 个答案:

答案 0 :(得分:2)

没有。自动释放对象时,对象将添加到自动释放池中,而不是指向这些对象的指针。您自动释放数组,如果将另一个数组复制到该指针中,它将不会受到影响。你应该使用ARC,而不是使用自动/释放。