2011-08-31 76 views
0
 // Allocate a product 
     Product *color = [[Product alloc]init]; 

     // The result set 
     char *name = (char *)sqlite3_column_text(statement, 1); 
     NSString *nameStr = [[NSString alloc]initWithUTF8String:name]; 
     char *code = (char *)sqlite3_column_text(statement, 2); 
     NSString *codeStr = [[NSString alloc]initWithUTF8String:code]; 

     color.name = nameStr; 
     color.code = codeStr; 

     // Release 
     [nameStr release]; 
     [codeStr release]; 
     [myProducts addObject:color]; 
     [color release]; 

探查器顯示我分配字符串的每一行上的泄漏。我不知道是什麼原因導致我釋放問題。泄漏的NSString,不知道爲什麼要這樣做?

編輯:發現問題。我需要釋放我的Product對象上的字符串。不能相信我錯過了...

+0

看起來你應該在最後發佈'顏色',不是嗎? –

+0

對不起,我錯過了編輯,我的代碼中有[color release]。泄漏發生在nameStr字符串的分配和codeStr – MrShoot

+0

發現問題。我需要釋放我的Product對象上的字符串。不能相信我錯過了... – MrShoot

回答

0

該數據模型不釋放dealloc。