将代码波纹管原因我的代码泄漏?更具体而言,我是负责释放newImagemainPageLayer的内容(这是一个CALayer对象)?我得到一个内存警告每4个时间调用该方法,但无法弄清楚,为什么......

我还不能找出为什么mainPageLayer.contents = [newImage CGImage];抛出一个警告,我传递的参数是不兼容的指针的时间。该图像示出了层内就好了。

-(void)setPrimaryPage:(UIImage *)newImage {
 pImageSizeWidth = newImage.size.width;
 pImageSizeHeight = newImage.size.height;

 [mainPageLayer setFrame:CGRectMake(0, 0, pImageSizeWidth, pImageSizeHeight)];
 mainPageLayer.contents = [newImage CGImage];
}
有帮助吗?

解决方案

的内容属性被定义为如下:

@property(retain) id contents

这意味着从CGImageRef所述newImage被保留。无论你的代码泄漏是不是从你的代码清楚:有没有足够的上下文。如果newImage是在呼唤你的setPrimaryPage:保留它只会发生泄漏。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top