我在我的模型中有一個簡單的方法來創建一個包含其屬性的NSDictionary對象。 不幸的是這種方法是通過「分析」看到是漏存儲器:行76(以點標記在這裏),並存儲在「DIC」分配對象的內存泄漏誤報
潛在內存泄漏。
-(NSDictionary*) getDictionary {
NSDictionary *dic = [[NSDictionary alloc] init];
[dic setValue:(id)self.internal_code forKey:@"internal_code"];
[dic setValue:(id)self.identifier forKey:@"id"];
[dic setValue:(id)self.owner forKey:@"owner"];
[dic setValue:(id)self.address forKey:@"address"];
[dic setValue:(id)self.displayed_name forKey:@"displayed_name"];
return dic;
}
我沒有使用ARC。 PS:對於進來的人來說,我發佈的原始代碼是正確的 - 它有一個autorelease。我在編輯它之後會重新出現內存泄漏並準確詢問原因。
此代碼如何工作?您正嘗試將該值設置爲NSDictionary。你不能這樣做。 – Apurv
只是一個無關的提示。你可以使你的alloc/init/autorelease只是'[NSDictionary dictionary]'。許多標準類都有這些便利的構造函數。 –
你也說第76行是你的nsdictionary實例,但我認爲這是dic。它表示無論泄漏是否存儲在詞典中,而且您也沒有將詞典存儲在其中 –