0

iPhone アプリのメモリ管理はまだ初めてなので、初心者に質問があります。AppDelegate の属性を使用するメソッドがあるとします。これらのメソッドの開始時に、次のようなデリゲートを取得します。

// Get delegate
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];

メソッドの最後にある種のリリースを実行する必要がありますか (このような各メソッドの最後に [デリゲート リリース] を追加することを考えていました)。

一般的に言えば、メソッドの最後に、このメソッド内で作成された各オブジェクト変数 (NSString、NSData など) を解放する必要がありますか?

どうもありがとう、リュック

4

2 に答える 2

1

簡単なルール:

オブジェクト (この場合は appDelegate) への参照を取得したときに、allocそのオブジェクトを呼び出さなかった場合は、解放する必要はありません。提供したコード行を呼び出した場合はalloc、呼び出したいと思うでしょう[delegate release];

于 2010-06-29T13:36:51.257 に答える
1

いいえ。これは、プログラムの他の部分で使用される可能性が最も高いデリゲートへの参照にすぎません。

于 2010-06-29T13:37:08.437 に答える