我很难找到一种方法来返回1和9,000,000,000,000,000之间的随机数
我已经使用UInt32创建了一个randomNumberBetween函数,但我只是无法使用UInt64做同样的事情。
我理解arc4random_uniform只使用UInt32。但是对于UInt64还有别的选择吗?
现在有人知道了吗?
谢谢你的帮助!
let min:UInt32 = 1
let max:UInt32 = UINT32_MAX
func randomNumberBetween(min:UInt32, max:UInt32) -> UInt32 {
let randomNumber = arc4random_uniform(max - min) + min
return randomNumber
}
randomNumberBetween(min, max)
arc4random
在Swift中工作得很好,但基本函数仅限于32位整数类型(Int
在iPhone 5S和现代mac上是64位)。下面是用于任意类型随机数的泛型函数:
func arc4random <T: IntegerLiteralConvertible> (type: T.Type) -> T {
var r: T = 0
arc4random_buf(&r, UInt(sizeof(T)))
return r
}
阅读这个文档,我希望它对你有帮助http://www.dahuatu.com/G9wRqYlmME.html