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