Swift 2.0地图“实例成员不能在类型上使用”

唯一

我正在尝试学习如何使用swift 2.0创建FFT,但是我无法编译.map函数。

以下代码在swift类中可以在游乐场中使用,但不能在xCode中使用。

我收到以下错误“实例成员'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)
        }
    }
}

任何帮助将非常感激。谢谢

Kametrixom

该错误是因为sineWave尝试初始化之前访问self属性sineArraySize和其他属性self(初始化是在定义属性值之后发生的)。要变通解决此问题,您可以这样做:

var sineWave : [Double] = []

init() {
    sineWave = (0..<sineArraySize).map {
        amplitude1 * sin(2.0 * M_PI / Double(sineArraySize) * Double($0) * frequency1 + phase1)
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swift实例成员不能在类型上使用

Swift:实例成员不能在类型上使用

使用Swift时出错-实例成员不能在'ViewController'类型上使用

如何修复“实例成员'坐标'不能在类型'MKMapPoint'上使用”的问题,在Swift 5.0中

Swift 3:实例成员不能在“ View Controller”类型上使用

实例成员不能在类型上使用

Swift 4上带有嵌套类的“实例成员不能用于类型”错误

使用Swift 2进行地图聚类

swift:不能在不可变值上使用可变成员:下标是仅获取的

Swift 错误“静态成员不能用于类型的实例”

Swift - 静态成员动画不能用于 uiview 类型的实例

Swift 3:实例成员'CognitoPoolID'不能用于类型'Constants'

实例成员不能在'ViewController'类型上使用

实例成员“图层”不能在类型“ CustomPrettyView”上使用

错误:实例成员不能在类型'ViewController'上使用

在Swift 2中使用#

SwiftUI Button操作关闭中的Swift错误:“不能在不可变值上使用变异成员:'self'是不可变的”

不能在不可变值数组上使用可变成员是一个仅获取属性 swift 3

swift4:“不能在不可变值上使用可变成员:'self'是不可变的”在变异函数中

Swift 2:AVAssetReader和NSInputStream音频图

如何同时使用swift 2和swift 3?

使用UIBezierPath:byRoundingCorners:与Swift 2和Swift 3

Swift 2:检查触摸中的触摸类型

Swift:不能在属性初始值设定项中使用实例成员“trialGame”;属性初始值设定项在 'self' 可用之前运行

Swift 2&3:如何使用CGBitmapContextCreate

结合使用imagePickerController和Swift 2

Swift 2未使用的持续警告

使用Swift 2从JSON读取参数

Swift-使用未声明的类型'GTMOAuth2Authentication'