ios - 加速框架 - vDSP_zvmags - Swift 4.2

标签 ios swift accelerate-framework swift4.2 vdsp

在 Swift 4.0 Xcode 9.4.1 中使用 vDSP_zvmags 函数并传递一个 inout float 数组变量是有效的,但是在 Swift 4.2 Xcode 10.1 中提示当期望一个 float 类型时不能传递数组参数。

//Class variable
private var magnitudes: [Float]!    

self.magnitudes = [Float](repeating: 0.0, count: self.halfSize)
vDSP_zvmags(&(self.complexBuffer!), 1, &self.magnitudes!, 1, UInt(self.halfSize))

错误信息:

Cannot convert value of type '[Float]' to expected argument type 'Float'

&self.星等!带有红色下划线。

有人可以阐明为什么它在 Swift 4.0 中可以接受而在 Swift 4.2 中 Not Acceptable 吗?这两个函数之间的函数似乎没有变化,我查看了 Apple 的文档并查看了 vDSP 库文档。

最佳答案

如果类变量在声明时初始化为空 float 组,则错误消失。

关于ios - 加速框架 - vDSP_zvmags - Swift 4.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53220789/

相关文章:

ios - PJSIP : Crash on pj_sockaddr_get_port when moving iOS app to background and then to foreground

ios - Storyboard未在 Xcode 7 中编译

ios - Swift 3 数组扩展错误

ios - AVAudioPCMBuffer 的频谱图在 Swift 中使用 Accelerate 框架

ios - 如何使用 vImageMatrixMultiply 将 YUV 平面数据转换为 32 bpp、8bpc RGBX?

ios - 使用 Instruments 通过 SSH 启动自动化测试

iOS 表格标题和单元格之间的快速边距

ios - 当应用程序被终止/强制退出时设置角标(Badge)计数

ios - Apple Mach-O链接器错误,找不到文件

macos - 使用 veclib 对 OS X 进行频率分析