以下是我如何创建int:
int randNumber = rand() % 4;
NSLog(@"%d", randNumber);
然而,每次启动应用程序时,无论如何,数字都是相同的。
我创建了一个按钮,并附加了一个操作,重新初始化随机数并记录新号码,然后生成一个随机数,但在App启动时,随机数总是相同的(我发布了)它超过20次)。
任何想法为什么在应用程序启动时随机数总是一样的?
答案 0 :(得分:13)
尝试使用不需要种子的arc4random()
答案 1 :(得分:3)
每次运行程序时都需要指定不同的种子。给定种子,随机数生成器生成一组数字。相同的种子将产生相同的数字集。要获得不同的集合,您需要一个不同的种子。
请看一下这方面的指导:Generating random numbers in Objective-C
答案 2 :(得分:1)
rand()是一个伪随机数生成器。它使用种子并为每个种子生成确切的序列。
如果你在程序开始时这样做
srand(time(NULL));
将起作用
答案 3 :(得分:0)
你必须调用srand(unsigned int seed);种子兰特功能。如果你不打电话,每次都会播种1。