2012-02-07 113 views
-1

我在下面的代碼的添加目標行中發現了內存泄漏,我正好釋放ui按鈕,我不知道爲什麼會發生這種情況。使用stringwithformat時發生內存泄漏

UIButton *btnProjectName = [[UIButton alloc]initWithFrame:CGRectMake(20, 10, 170, 40)]; 
btnProjectName.backgroundColor=[UIColor clearColor]; 
btnProjectName.tag=obj.tagNo; 
[btnProjectName addTarget:self action:@selector(projectName_Clicked:) forControlEvents:UIControlEventTouchUpInside]; 

/* ... */ 

[btnproject release]; 
+2

你發現了內存泄漏?那麼問題是什麼? – Geoffroy 2012-02-07 06:54:35

+0

什麼類型的對象在泄漏?你是如何發現泄漏的? – bneely 2012-02-07 06:59:17

+0

@Geoffroy,無處他使用'stringWithFormat' ..我可以知道你爲什麼將標題改爲這個嗎? – Ilanchezhian 2012-02-07 07:17:27

回答

0

我不知道你寫的地方會發生什麼/* ... */。可能有一個隱藏在那裏的返回語句。在這種情況下會導致泄漏。這將處理這種情況。

UIButton *btnProjectName = [[[UIButton alloc]initWithFrame:CGRectMake(20, 10, 170, 40)] autorelease]; 

也刪除靠近底部的[btnProjectName release];


如果是新的Xcode項目,則考慮使用ARC

相關問題