0

currentSettings- イヴァル

settings- メソッドのパラメーター

これは、通常何度も実行されるメソッドです。ARC が有効になっています。

currentSettings = [[NSMutableDictionary alloc]init];
currentSettings = settings;

このコードに何か問題がありますか?

4

2 に答える 2

3

リークはありません。これは、ARC が有効になっていない場合にのみリークします (作成された へのポインターが失われるためNSMutableDictionary)。しかし、ARC が有効になっているため、currentSettingsインスタンス変数は新しい値が設定されると以前の値を解放するため、余分に辞書を割り当てたり割り当てを解除したりするだけです。

全体として、最初の行は必要ありません。インスタンス変数はstrongデフォルトであるため、メソッドの引数を処理 (保持) します。

于 2013-06-11T21:08:41.900 に答える
0

最初の行は、 currentSettings を設定に向けると破棄される新しい辞書を作成しています。ARC を有効にすると、メモリがリークしているとは思いません (空の辞書が解放されます) が、何もしていません。

于 2013-06-11T21:11:16.553 に答える