簡體   English   中英

靜態分析器-內存泄漏

[英]Static Analyzer - Memory Leak

在Xcode中,像[self.object release]一樣,在dealloc方法中釋放對象時,使用靜態代碼分析器將該行顯示為內存泄漏,但在運行儀器時未顯示為泄漏。

在這里,我的問題是BWN [self.object release][object release]有何不同?

請澄清一下

提前致謝。

self.object實際上調用getter方法( [self object] ),該方法返回實例變量object (或取決於合成方式),但是實例變量實際上包含保留的對象,因此必須執行[object release] 這是一個與合成的性能很好的做法: @synthesize object = _object這樣你就不會感到困惑的屬性和實例變量的-你的財產將被self.object ,但實例變量將是_object你要給[_object release];

而不是-

[self.object release]

您需要做-

self.object = nil; or [object release];

[self.object release]將釋放調用發送到屬性的getter返回的對象。 結果將取決於該屬性是否定義為assign / copy / retain。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM