Sol*_*ole 9 xcode dictionary fft swift
我正在尝试学习如何使用swift 2.0创建FFT但是我无法编译.map函数.
以下代码在游乐场中工作,但不在xCode内部作为swift类的成员.
我收到以下错误"实例成员'sineArraySize'不能用于'FFTAnalyser'类型
import Foundation
import Accelerate
class FFTAnalyser {
let sineArraySize = 64 // Should be power of two for the FFT
let frequency1 = 4.0
let phase1 = 0.0
let amplitude1 = 2.0
var sineWave = (0..<sineArraySize).map {
amplitude1 * sin(2.0 * M_PI / Double(sineArraySize) * Double($0) * frequency1 + phase1)
}
func plotArray<T>(arrayToPlot:Array<T>) {
for x in arrayToPlot {
print(x)
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.谢谢
该错误是因为sineWave
尝试在初始化之前访问self
属性sineArraySize
和其他属性self
(初始化发生在定义属性值之后)。要解决此问题,您可以执行以下操作:
var sineWave : [Double] = []
init() {
sineWave = (0..<sineArraySize).map {
amplitude1 * sin(2.0 * M_PI / Double(sineArraySize) * Double($0) * frequency1 + phase1)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9048 次 |
最近记录: |