2014-07-25 62 views
0

试图编译下面的代码,我得到上述错误:缺少参数

let ref = CMSampleBufferGetImageBuffer(sampleBuffer) 
let image = CIImage(CVImageBuffer: ref) 

近,我可以告诉,CIImage有一个初始化的是只需要一个CVImageBuffer(它还有另一个如果我尝试提供,我得到一个错误,我有额外参数称为选项,模糊)

任何想法如何解决这个问题?

回答

0

很简单!原来,问题是我没有经过适当的那种的参考英寸

线let ref = CMSampleBufferGetImageBuffer(sampleBuffer)实际上声明refUnmanaged<>结构值,这意味着该API没有正确注释,指明什么样的ARC应该解释的保留/不保留关系。它基本上被认为是一个松散的佳能。

所以我所要做的就是明确地告诉编译器给我一个不存在的版本,然后代码很好用。

let ref : CVImageBufferRef = CMSampleBufferGetImageBuffer(sampleBuffer).takeUnretainedValue() 
let image = CIImage(CVImageBuffer: ref)