1

私は xcode で ARC を使用し、次のような便利なメソッドを記述します。

    +(UITextField *) addTextField:(NSString *)text x:(int)_x y:(int)_y width:(int)_width height:(int)_height {
       UITextField *v_txt = [[UITextField alloc] init];
       v_txt.frame= CGRectMake(_x, _y, _width, _height);
       v_txt.borderStyle = UITextBorderStyleRoundedRect;
       return v_txt;
}

多くのビュー コントローラーは、このクラス メソッドを呼び出して、アプリケーションで自動解放されたUITextFieldオブジェクトを返します。ここにいくつかのメモリリークがありますか?前もって感謝します。

4

2 に答える 2

1

いいえ、ARC の下で便利なメソッドにメモリ リークはありません。コンパイラは、v_txt必要に応じて舞台裏で autorelease を使用して、最後の強い参照がなくなったときに を解放するのに十分スマートです。

于 2012-12-29T13:43:05.623 に答える
0

v_txt として取り扱いますautorelease。したがって、コードにメモリリークはありません。

参考までに、変数の命名規則に従うようにしてください。

私たちのほとんどは、_x、_y、_width、および _height を current/self クラスのプロパティであると感じるでしょうが、あなたの場合はメソッドのパラメーターです。

于 2012-12-29T13:43:46.617 に答える