2013-04-17 50 views
0

我正在使用BButton(https://github.com/jessesquires/BButton)在UICollectionView中的单元中绘制一些漂亮的按钮。当我刷新UICollectionView的数据时,我记录了一些内存泄漏(CollectionView中每个单元泄露一个对象)。我已经追查使用仪器这回是在“BButton.m”创建CGGradient:BButton和CGGradient发布 - 内存泄漏

gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef)newGradientColors, newGradientLocations); 
CGColorSpaceRelease(colorSpace); 

我知道CGGradients应该被释放(CGGradientRelease()),但我不知道究竟在何处释放这个,我尝试了几个位置(在按钮被绘制之后,在init方法返回之前),但我仍然遇到同样的问题。

一切都在IB中完成,按钮&不是以编程方式创建的。

任何帮助将不胜感激,我接近撕裂我的头发!

谢谢

回答

0

我假设你正在使用ARC。如果你是我认为你的问题是你的CFArrayRef不转让所有权。我发现this post,所以我不需要重复我的意思。

+0

谢谢,我现在有这个工作! – larrysanchez

+0

您可以发布您的解决方案吗? – Hyndrix