调用中缺少参数'options'参数

  • 本文关键字:参数 options 调用 swift
  • 更新时间 :
  • 英文 :


尝试编译以下代码,我得到上面的错误:

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

据我所知,CIImage有一个初始化器,它只接受CVImageBuffer(它有另一个初始化器,也接受一个选项参数)。如果我尝试提供这个,就会得到一个错误我有一个额外的参数叫做options, blurgh)

有什么办法解决这个问题吗?

很简单!原来问题是我没有在。

中传递正确的类型的引用。

let ref = CMSampleBufferGetImageBuffer(sampleBuffer)行实际上将ref声明为Unmanaged<>结构值,这意味着API没有被正确注释,以指示ARC应该解释哪种保留/不保留关系。它基本上被认为是一个松散的经典。

所以我要做的是明确地告诉编译器给我一个未保留的版本,然后代码工作得很好。

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

最新更新