Swift 缺少参数'的参数;选项';随时待命
尝试编译以下代码时,我遇到上述错误:Swift 缺少参数'的参数;选项';随时待命,swift,Swift,尝试编译以下代码时,我遇到上述错误: let ref = CMSampleBufferGetImageBuffer(sampleBuffer) let image = CIImage(CVImageBuffer: ref) 就我所知,CIImage有一个只接受CVImageBuffer的初始值设定项(它还有另一个初始值设定项,也接受一个options参数。如果我尝试提供它,我会得到一个错误,我有一个额外的参数叫做options,Blugh) 有没有办法解决这个问题?很简单!事实证明,问题在于我
let ref = CMSampleBufferGetImageBuffer(sampleBuffer)
let image = CIImage(CVImageBuffer: ref)
就我所知,CIImage有一个只接受CVImageBuffer的初始值设定项(它还有另一个初始值设定项,也接受一个options参数。如果我尝试提供它,我会得到一个错误,我有一个额外的参数叫做options,Blugh)
有没有办法解决这个问题?很简单!事实证明,问题在于我没有传递正确的参考信息 行
let ref=CMSampleBufferGetImageBuffer(sampleBuffer)
实际上将ref
声明为一个非托管的
结构值,这意味着API没有被正确注释以指示ARC应该解释哪种类型的保留/未保留关系。它基本上被认为是一个松散的佳能
所以我要做的就是显式地告诉编译器给我一个未恢复的版本,然后代码工作得很好
let ref : CVImageBufferRef = CMSampleBufferGetImageBuffer(sampleBuffer).takeUnretainedValue()
let image = CIImage(CVImageBuffer: ref)