1.このコードを書くとき。
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 100, 30)];
[self.view addSubview:label];
label.text =@"label Text";
[label release];
[label release];
NSLog(@"LableRetainCount = %i \n",lable.retainCount);
出力:LableRetainCount 1.Lable保持カウントが1から減少しないのはなぜですか?
2.このコードを書くとき。
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 100, 30)];
[self.view addSubview:lable];
label.text =@"lable Text";
label = nil;
NSLog(@"LabelRetainCount = %i \n",label.retainCount);
出力:LabelRetainCount = 0 "label = nil"を設定すると、保持カウントが0になるのはなぜですか?これは、このオブジェクトのメモリの割り当てが解除されたことを意味しますか?
- オブジェクトがリリースされたかどうか?
- 今、私たちはそれを解放する必要はありませんか?
- 保持カウントメソッドは0を返すことはできません。これは、リリース後にオブジェクトが生きていることを意味しますか?