加速框架-vDSP_zvmags-Swift 4.2

时间:2018-11-09 06:23:01

标签: ios swift accelerate-framework swift4.2 vdsp

在Swift 4.0 Xcode 9.4.1中,使用vDSP_zvmags函数并传递一个inout浮点数组变量是可行的,但是在Swift 4.2 Xcode 10.1中,它抱怨在期望浮点类型时无法传递数组参数。

//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.magnitudes!用红色下划线。

有人可以阐明为什么它在Swift 4.0中可以接受而在Swift 4.2中不能接受吗?该功能在这两个功能之间似乎没有改变,我已经查看了苹果的文档并查看了vDSP库文档。

1 个答案:

答案 0 :(得分:1)

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