随机数功能是失火

wil*_*lc2 0 c iphone random objective-c

我有一个非常简单的iPhone应用程序,需要1-100的随机整数.

我有一个调用随机数函数的按钮然后显示它.

-(IBAction)buttonReleased;
{
    srandom(time(NULL)); 
    int theNum = random() % 100 + 1;
    numberDisplay.text = [NSString stringWithFormat:@"%d", theNum];
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我快速按下按钮,有时它将不会显示新的随机数.

GMa*_*ckG 8

问题是你正在播种time.

time 只会每秒更新一次,所以如果你在第二秒内点击它,你将使用相同的数字为生成器播种,这意味着你将获得相同的数字.

您应该只在申请开始时播种一次.