代码是否会导致我的代码泄漏?更具体地说,我是否负责发布newImage
或mainPageLayer
的内容(CALayer
对象)?我每次第四次调用该方法时会得到一个内存警告,但是无法弄清楚为什么......
我也无法弄清楚为什么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];
}
答案 0 :(得分:0)
contents属性定义如下:
@property(retain) id contents
表示保留CGImageRef
中的newImage
。您的代码是否泄露的代码不清楚:没有足够的上下文。如果在调用newImage
时保留setPrimaryPage:
,则只会泄漏。