以下の2つのパターンを使用してビューを作成しました。(iphone)基本的なメモリ管理の質問
@property (retain, nonatomic) SomeView* someView;
...
// First pattern
self.someView = [[SomeView alloc] initWithFrame frame];
// Second pattern
SomeView* aSomeView = [[SomeView alloc] initWithFrame];
self.someView = aSomeView;
[aSomeView release];
さて、このコードを振り返ってみると、第一のパターンの方法は
self.someView = [[[SomeView alloc] initWithFrame frame] autorelease];
それいけないに変更する必要がありますか?
私はダム感じ:(
はい、ビューを1で自動解放するか、メモリリークが発生する可能性があります。愚かなことを感じないでください。何か新しいことは学び理解するのに時間がかかります。 –
まず、いくつかのコロンを省略します。例えば、 'initWithFrame:frame'でなければなりません。第二に、私はinitWithFrameがパラメータを必要としていると推測しています。したがって、2番目のパターンは実行時にコンパイラの警告とクラッシュを引き起こします。 –
@Jason:あなたのコメントを答えにしてみませんか? –