使用Swift 4.2,在此函数中出现标题错误:
func jitter(range: Int) -> Int {
return Int.random(in: 0..<range, using: SystemRandomNumberGenerator())
}
问题:
答案 0 :(得分:1)
Swift编译器给您一个错误的错误消息。问题在于Int.random(in:using:)
的第二个参数必须传递inout
(即,前缀为&
)。这有效:
func jitter(range: Int) -> Int {
var rng = SystemRandomNumberGenerator()
return Int.random(in: 0..<range, using: &rng)
}
更容易,完全省略using:
参数(无论如何,SystemRandomNumberGenerator
是默认的RNG):
func jitter(range: Int) -> Int {
return Int.random(in: 0..<range)
}