我无法找到一种方法来返回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)
答案 0 :(得分:0)
arc4random
在Swift中运行良好,但基本函数仅限于32位整数类型({5}在iPhone 5S和现代Mac上为Int
为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