我得到了以下代码:
mainLayer.shadowColor = CGColorCreate( CGColorSpaceCreateDeviceRGB(), components );
当我在xcode中运行Product-> Analyze时,它会给我警告:
Potential leak of an object allocated on line 176
这意味着我不会释放我的CGColor。因此,我认为一个很好的解决方案如下:
CGColorRef shadowColor = CGColorCreate( CGColorSpaceCreateDeviceRGB(), components );
mainLayer.shadowColor = shadowColor;
CGColorRelease( shadowColor );
但我仍然得到同样的泄漏警告。我该如何修复这个问题?
答案 0 :(得分:16)
您还需要释放色彩空间:
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
CGColorRef shadowColor = CGColorCreate( colorspace, components );
mainLayer.shadowColor = shadowColor;
CGColorRelease( shadowColor );
CGColorSpaceRelease(colorspace);
答案 1 :(得分:1)
这是:
CGColorSpaceCreateDeviceRGB()
通过任何更改返回您负责解除分配的对象?我以为我记得有像CGColorSpaceRelease()这样的函数。