这适用于iPhone 5,但不适用于iPhone 5S或iPad Air。
无法找到' +'接受提供的参数
为什么?
func randomFloat(from:Float, to:Float) -> Float {
let rand:CGFloat = CGFloat(arc4random() % 1000) / 1000
return (rand) * (to - from) + from
}
答案 0 :(得分:3)
诀窍是使用CGFloat而不是Float
func randomFloat(from:CGFloat, to:CGFloat) -> CGFloat {
let rand:CGFloat = CGFloat(arc4random() % 1000) / 1000
return (rand) * (to - from) + from
}
您看到的问题是CGFloat根据体系结构别名为不同类型。对于32位ARM(iPhone 4S和5),它在内部是Float,但对于arm64,它实际上是一个Double。如果您只是使用CGFloat代替Float进行类型转换,它将正常工作