消息“不匹配任何可用的过载”是什么意思?

时间:2019-11-01 11:26:39

标签: ios swift random gamekit

在操场上,我正在尝试使用以下代码为正态分布生成随机数:

import UIKit
import GameplayKit

var mu: Double = 0
var random: Double = 0

for i in 1...1000 {
    let random = GKRandomSource()
    mu = GKGaussianDistribution(randomSource: random, mean: Float(0.0), distribution: Float(1.0))
    print(mu)
}

这将无法编译,我收到以下错误消息:“参数标签'(randomSource :, Mean :, distribution :)'与任何可用的重载都不匹配”

这是什么意思,我该如何纠正代码?

1 个答案:

答案 0 :(得分:2)

您的代码有几个问题,参数称为deviation,而不是distribution,并且Distribution对象本身不返回随机数。

尝试以下方法:

import GameplayKit
let random = GKRandomSource()
let dist = GKGaussianDistribution(randomSource: random, mean: 0, deviation: 1.0)

for _ in 1...1000 {
    let mu = dist.nextUniform()
    print(mu)
}