2012-12-29 33 views
1

我使用ARC的Xcode和寫的簡便方法是這樣的:在ARC模式下返回UITextField對象是否有這樣的錯誤?

+(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對象。這裏有沒有內存泄漏?提前致謝。

+0

還沒有投票:) –

回答

0

它將處理v_txt作爲autorelease。所以你的代碼中沒有內存泄漏。

僅供參考,請嘗試遵循變量命名約定。因爲我們大多數人會覺得_x,_y,_width和_height是current/self class的屬性,但在你的情況下,它是該方法的參數。

+2

在ARC下泄漏肯定是可能的,它只是很難讓他們:) – dasblinkenlight

+0

@dasblinkenlight:是的,我同意:) –

+0

@dasblinkenlight:我的回答是否更好,然後更早? :) –

1

不,ARC下的便捷方法沒有內存泄漏:編譯器足夠聰明,可以在最後一次強引用消失時處理釋放v_txt,如果必要的話,在後臺使用autorelease。

相關問題