我实际上正在将我的一些源文件转换为ARC。ARC非常好用,可以节省时间和内存泄漏。实际上,我正在尝试转换我的AVFoundation代码,并且在一个非常特殊的代码行上达到了我的极限:
image = [CIImage imageWithCVPixelBuffer:pixelBuffer options:[NSDictionary dictionaryWithObject:colorSpace forKey:kCIImageColorSpace]];“色彩空间”是CGColorSpaceRef的类型,也就是CGColorSpace*。CGColorSpace是一个结构,无法转换为id。我对此感到非常惊讶,因为代码对我来说总是有效的( CIImage正确地使用了色彩空间)。我不能使用ARC运行编译器,因为colorspace不是objective C对象。编译器(使用ARC)拒绝将色彩空间添加到字典中。
有谁知道如何替换字典中的" colorspace“,或者如何告诉编译器,使用这个colorspace指针是可以的吗?
发布于 2011-10-12 19:51:20
使用使用CFDictionaryCreate()而不是NSDictionary的CFDictionaryRef,然后使用(__bridge_transfer NSDictionary *)将其转换为NSDictionary
https://stackoverflow.com/questions/7738382
复制相似问题