如何在苹果的Swift语言中生成一个随机数
本文将向你解释如何用Swift语言生成随机数。
当你需要在你的iOS应用程序中生成随机值时,有一些常见的情况,比如说
- 模拟骰子的滚动。
-
洗牌。
-
为一个用户创建一个唯一的ID。
-
来自集合类型的随机值。
在Swift 4.2中,有新的、简单而安全的方法来生成随机值。在这之前,有一个用C语言编写的随机函数。今天,你将学习随机()函数,它接收一个数值范围,作为输出,它每次都会返回一个随机挑选的数值。
如何使用Arc4random()函数
我们来看看arc4random()函数的一个例子
要在Swift中生成一个随机数,你可以使用arc4random()函数,它可以生成一个0到UInt32.max之间的随机数。比如说。
这里要注意:在任何情况下,输出都是随机的。
这将产生一个介于0和UInt32.max之间的随机数,UInt32.max是一个32位无符号整数,范围为0到4,294,967,295。
示例
如果你想在一个特定范围内生成一个随机数,你可以使用以下语法。
输出
这里要注意:在任何情况下,输出都是随机的。
这将产生一个介于 lowerRange 和 upperRange 之间的随机数,包括在内。
请记住,arc4random()函数生成的是一个伪随机数,这意味着它不是真正的随机数,但在大多数人看来是随机的。如果你需要一个真正的随机数,你可能要考虑使用不同的方法,例如使用硬件随机数生成器来生成随机数。
生成随机数
所有数字数据类型都支持在指定范围内生成随机数。你可以根据你的要求指定值的范围(下限和上限)。让我们看一下一些例子。
示例
输出
让我们来理解上面的例子
第1步–这里我们通过传递1到99的范围来生成一个随机Int,所以它总是会返回一个相同范围内的数字。
第2步 – 在这里,它将从给定的范围内返回一个随机数Int,即-10到低于10。
第3步 – 在这里,它将返回一个在给定范围内的随机浮动值,即0到5。
第4步 – 在这里,它将返回一个随机的Bool值,可以是真也可以是假。
从集合中生成随机值
使用Swift的randomElement()方法,我们可以从一个
集合类型。很多时候,你需要从你的集合中返回随机对象。
在跳到例子之前,让我们注意一下这里的一个要点。randomElement()函数返回一个集合类型的可选值。建议使用像下面这样的if-let或guard语句来解包返回值,因为它有时会返回一个空值。
示例
我们将在所有的例子中使用可选的绑定。比如说。
输出
结论
在Swift 4.2之前,开发者使用arc4random_uniform(n)函数来获取随机值。这个函数是基于C语言风格的。
虽然Swift 4.2及更高版本中的随机()方法让开发者更容易安全有效地生成随机值。因此,我们可以编写更安全、更可靠的代码。