2012-03-05 14 views
1

ビューを割り当ててinitをコードの別のビューに追加すると(xibは使用しませんでした)、UIViewControllerのdeallocメッセージが含まれているときに削除する必要がありますか?私はこのコードを特定の場所で見てきましたが、いくつかの状況ではメモリを解放する必要があるのだろうかと疑問に思っていましたか?deallocのスーパービューからビューを削除する必要がありますか?

おかげで、 マルク

+1

これが新しいプロジェクトの場合は、とにかくARCの使用を検討する必要があります。さもなければ以下の答えは正しいです。 –

答えて

2

あなたはこの、

UIView *v = [[UIView alloc] init]; 
[self.view addSubview:v]; 
[v release]; 

または

UIView *v = [[[UIView alloc] init] autorelease]; 
[self.view addSubview:v]; 

を行う場合は、vは、その親ビューリリースをリリースされます。

親ビューではaddSubviewを使用すると、サブビューが保持され、サブビューがリリースされるとサブビューが解放されます。

2

これは必要ありません。すべてのUIViewサブクラスはsubviews配列を保持し、最終的なUIView deallocメッセージでリリースされ、ビューを解放します。