Swift - Swift生成随机数

在Swift中生成随机数有很多方法可以达到目的

这里介绍最简单的两种方法,第一种是使用arc4random()函数, 第二种是使用arc4random_uniform()函数


1. func arc4random() ->UInt32

arc4random()

如果要生成一个生成在一定范围内的随机整数,可以这么写:

func randomIn(#min: Int,max: Int) -> Int {
    return Int(arc4random()) % (max - min + 1) + min
}
方法生成[min,max]范围内的随机整数

如果需要生成随机浮点数,基本思路相同,只不过多了一步

因为arc4random返回值的类型为UInt32,也就是32位整形, 所以其返回的最大值用十六进制表示就是0xFFFFFFFF

所以我们可以这样得到一个[0,1]范围内的随机小数

Float(arc4random()) / 0xFFFFFFFF

 

生成的小数适配到我们需要的范围中

func random() -> Float {
    return Float(arc4random()) / 0xFFFFFFFF
}
func randomIn(#min: Float,max: Float) -> Float {
    return random() * (max - min + 1) + min
}


2. func arc4random_uniform(_:UInt32) ->UInt32

arc4random_uniform(4)
可以生成[0, 4)的随机整数

相关文章

Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章。自从苹果发布 Swfit 编程语言,就成为了...
快,快,快!动动您的小手,分享给更多朋友! 苹果去年推出了全新的编程语言Swift,试图让iOS开发更简单...
开发者(KaiFaX) 面向开发者、程序员的专业平台! 和今年年初承诺的一样,苹果贴出了Swift语言的源码,...
本文由@Chun发表于Chun Tips :http://chun.tips/blog/2014/12/11/shi-yong-swift-gou-jian-zi-ding-yi...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...