0

プログラムでUILabelを作成した場合、後でリリースする必要がありますか?例えば、

UILabel *label =  [[UILabel alloc] initWithFrame:...];
[self.view addSubView:label];
[label release];  // <-- is this needed?

リリースラインを含むこのスレッドを見つけましたが、これは新しいiOSバージョンでは動作が異なることを理解しています。

読んでくれてありがとう。

4

2 に答える 2

4

はい、ARCを使用していない限り、リリースする必要があります。
この場合alloc、保持カウントは1です。ビューを実行すると
、ラベル:保持カウントは2になります。 したがって、その時点で、保持カウントのバランスをとることができます。これで、保持カウントは1になり ます。不要になったときにreleaseを呼び出します。 その場合、ラベルの保持カウントは0に低下し、0になり、メモリが解放されます。addSubViewretain
releasealloc
ownself.view
deallocated

于 2012-11-10T04:15:36.990 に答える
1

プロジェクトがARC(自動参照カウント)を使用するように設定されている場合、への呼び出しを追加しようとするとエラーが発生しますrelease。その行を追加しようとしてエラーが発生しない場合は、ARCを使用していないため、メモリリークを回避するためにその行が必要です。

于 2012-11-10T04:17:54.940 に答える