Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Random 如何在Swift中创建随机数生成器?_Random_Swift - Fatal编程技术网

Random 如何在Swift中创建随机数生成器?

Random 如何在Swift中创建随机数生成器?,random,swift,Random,Swift,我的应用程序使用随机数。我想给随机数生成器添加种子,这样它就不会每次都一样了。我该怎么做呢 编辑: 我应该给srand()什么参数以在当前时间内为随机生成器设定种子?这是有效的: let time = UInt32(NSDate().timeIntervalSinceReferenceDate) srand(time) print("Random number: \(rand()%10)") 你是在问如何在swift中生成随机数吗?不是,只是问如何为rand()生成器设置种子。推荐的生成随机数

我的应用程序使用随机数。我想给随机数生成器添加种子,这样它就不会每次都一样了。我该怎么做呢

编辑:

我应该给srand()什么参数以在当前时间内为随机生成器设定种子?

这是有效的:

let time = UInt32(NSDate().timeIntervalSinceReferenceDate)
srand(time)
print("Random number: \(rand()%10)")

你是在问如何在swift中生成随机数吗?不是,只是问如何为rand()生成器设置种子。推荐的生成随机数的方法可能是arc4random_uniform(),它不需要设置种子。有没有一种方法可以使用文本进行种子设定并获得结果?有很多种方法。一种方法是获取字符串的unicodeScalars值,遍历集合中的每个项,读取其
属性,然后执行某种数学运算,将它们组合成一个数字。您可以将它们全部添加到一起,但这意味着相同字符串的字谜将具有相同的种子值-使用它,我相信您可以找到一个合理的解决方案。该值(NSDate().timeintervalscencereferencedate)是否会变得太大而无法放入UInt32中?请注意,srand不能再在Swift3中使用。您可以改用srand48。
srandom()
random()
似乎更可取。