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在最后一个强引用消失时释放它,如果有必要,在幕后使用自动释放。

于 2012-12-29T13:43:05.623 回答
0

它将处理v_txtautorelease. 因此,您的代码中没有内存泄漏。

并且只是为了您的指导,请尝试遵循变量命名约定

正如我们大多数人会觉得 _x、_y、_width 和 _height 是当前/自我类的属性,但在您的情况下,它是方法的参数。

于 2012-12-29T13:43:46.617 回答