jar*_*ryd 3 random objective-c
我在Objective-C中看到了一些随机int的例子,但每次应用程序运行时,所有人都在抱怨相同的数字序列.我已经阅读了有关播种随机数的信息,但我不确定这甚至意味着什么.
即使在应用程序重新启动后,每次都可以不同地生成随机数?
是否可以将某些数据存储在NSUserDefaults中,然后根据这些数据生成不同的值?
以下是Apple开发人员论坛的讨论.
使用arc4random()而不是random()或rand().它使用/ dev/urandom并生成更好的伪随机数.rand()和random()基本上都是坏的随机数生成器.
见:man arc4random
#include <stdlib.h>
picknumber = arc4random() % 3 + 1;
Run Code Online (Sandbox Code Playgroud)
您可以使用以下代码为随机播种:
srand([[NSDate date] timeIntervalSince1970]);
Run Code Online (Sandbox Code Playgroud)
每次都会给你一个新的随机序列.