我有一個屬性在我的頭文件作爲的NSMutableDictionary - 「一個對象的引用計數錯誤減量......」
@property (nonatomic,retain) NSMutableDictionary* e;
,並在我的viewDidLoad:方法分配它像
self.e = [[NSMutableDictionary alloc] initWithContentsOfURL:myURL];
。
XCode靜態分析器被觸發,顯然是'Potential leak of an object...'
。但是當我釋放對象時([self.e release]
在dealloc中),錯誤仍然存在,但現在它也說有一個「引用計數的不正確遞減」,並且該對象不屬於調用者(我的viewController)。
當我用[e release]
替換[self.e release]
時,'錯誤遞減...'錯誤消失。但前潛在泄漏的錯誤仍然存在。問題是什麼?
另外「delleoc中的[self.e release]」是錯誤的。你應該釋放私人伊娃在dealloc。取決於你如何合成,你可以使用[e release]或[_e release]。 –
當然,@傑克勞倫斯。我沒有提到這個,因爲OP寫道:「當我用'[e release]'替換'[self.e release]''時''不正確的遞減...'錯誤消失了。」所以我認爲''不正確的遞減...''錯誤被修正,只解釋了'對象的潛在泄漏...'錯誤。 – albertamg