这里是我的方法:如何用+1保留计数(ARC)修复Core Foundation对象?
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(aSampleBuffer);
CIImage *ciImage = [CIImage imageWithCVPixelBuffer:imageBuffer];
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef myImage = [context
createCGImage:ciImage
fromRect:CGRectMake(0, 0,
CVPixelBufferGetWidth(imageBuffer),
CVPixelBufferGetHeight(imageBuffer))];
return [UIImage imageWithCGImage:myImage];
但最后一行显示我是Potential leak of an object stored into 'myimage'
,并MYIMAGE线是Method returns a Core Foundation object with a +1 retain count
。但我的应用程序是启用ARC,所以我不能release
的东西。我该如何解决它?谢谢。
顺便说一句,“所以我不能释放的东西” - 读什么警告说。你的对象是一个CoreFoundation对象,你不会释放它,而是你调用它的CFRelease对象(或者,在这种情况下,它有一个指定的释放函数)。 ARC不应该禁止这一点。 – 2013-07-05 10:43:45