2011-08-10 18 views
5

मैं निम्नलिखित कोड लाइन मिल गया:ios: इस स्मृति रिसाव चेतावनी हल करने के लिए कैसे

Potential leak of an object allocated on line 176 

ताकि:

mainLayer.shadowColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), components); 

जब मैं उत्पाद-> xcode में विश्लेषण यह मुझे चेतावनी देता चलाने इसका मतलब है कि मैं अपने CGColor को मुक्त नहीं करता हूं। इसलिए मैंने सोचा कि एक अच्छा समाधान निम्नलिखित होगा:

CGColorRef shadowColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), components); 
mainLayer.shadowColor = shadowColor; 
CGColorRelease(shadowColor); 

लेकिन मुझे अभी भी वही रिसाव चेतावनी मिलती है। मैं समस्या की मरम्मत कैसे करूं?

CGColorSpaceCreateDeviceRGB() 

किसी भी एक वस्तु आप deallocating के लिए जिम्मेदार हैं लौटने परिवर्तन से:

उत्तर

16

आप जारी करने के लिए भी जरूरत है colorspace:

CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); 
CGColorRef shadowColor = CGColorCreate(colorspace, components); 
mainLayer.shadowColor = shadowColor; 
CGColorRelease(shadowColor); 
CGColorSpaceRelease(colorspace); 
1

इस है? मैंने सोचा कि मुझे याद है कि CGColorSpaceRelease() जैसे फ़ंक्शन हैं।

संबंधित मुद्दे