2012-08-27 39 views
3

有人能解釋爲什麼我在這裏得到「潛在的物體泄漏」警告嗎?我不明白。謝謝!爲什麼這是一個物體的潛在泄漏?

-(Code) drawTo:(ContextClass *) trg 
{ 
    CGColorSpaceRef rgbColorspace = CGColorSpaceCreateDeviceRGB(); 
    CGFloat values[4] = { getRed(colour), 
         getGreen(colour), 
         getBlue(colour), 1.0 }; 

    trg.storedColourRef = CGColorCreate(rgbColorspace, values);  

    CGColorSpaceRelease(rgbColorspace); 

    return OK; 
}  

是因爲我將對象存儲在trg.storedColourRef中? ......這是在不同的類中的屬性:

@property (nonatomic, assign) CGColorRef storedColourRef; 

回答

5

是的,那是因爲你創建石英色搭配CGColorCreate(),並把它傳遞給一些外部對象(?)。編譯器找不到相應的CGColorRelease()調用,該調用將用於銷燬顏色對象並因此生成此警告。

+0

感謝您的確認。如果我用CGColorRelease(storedColourRef)將它釋放到外部類的dealloc方法中;它是否防止實際泄漏? – TrekOnTV2017

+0

@ radvan72是的,正好。 – Rost