alloc init不会增加保留计数

时间:2011-08-03 07:58:26

标签: iphone

基本上如果我这样做(不是我想这样做,只是我想了解)

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

数组现在应该有3个保留计数吗?

但不知何故,对我而言,它不是

4 个答案:

答案 0 :(得分:4)

您已经分配了三个不同的NSMutableArray,每个{1}都有一个保留计数。

前两个被泄露了。

答案 1 :(得分:0)

每次使用其保留计数器创建新数组时。 要增加保留计数器,您必须执行以下操作:

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

答案 2 :(得分:0)

nothing -/->    [array1 - count=1]   (memory leak)
nothing -/->    [array2 - count=1]   (memory leak)
array   --->    [array3 - count=1]

答案 3 :(得分:-1)

不,它不会。实际上,这三个阵列并不相同。所有人都有不同的参考资料。

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

这将增加保留计数。