用于随机切换视图的代码不起作用

问题描述 投票:1回答:1

我有此代码,目前无法正常运行。当我单击按钮以切换视图时,什么也没有发生。我正在Xcode 5中编程。如果可以的话,我们将不胜感激。该代码在下面列出。

-(IBAction)RandomButton:(id)sender {

int randomviews = rand() % 2;
switch (randomviews) {
    case 0:

    {
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:
                                    @"Main.storyboard" bundle:[NSBundle mainBundle]];
        Home *Next = [storyboard instantiateViewControllerWithIdentifier:@"SummerWinter"];
        [self presentViewController:Next animated:YES completion:nil];
    }

        break;
    case 1:

    {
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:
                                    @"Main.storyboard" bundle:[NSBundle mainBundle]];
        Home *Next = [storyboard instantiateViewControllerWithIdentifier:@"HiBye"];
        [self presentViewController:Next animated:YES completion:nil];
    }

        break;

    default:
        break;
}

}

ios random view switch-statement
1个回答
1
投票

不使用rand(),它不是随机的,请使用arc4random()arc4random_uniform()

rand()需要一个种子,这是有问题的,没有显式种子,它以1的种子开始。使用相同的种子,该序列是可重复的。

arc4random()不需要种子,它由系统定期种子,并且是密码安全的伪随机数生成器(PRNG)。

在OP情况下,使用:

int randomviews = arc4random_uniform(2);
© www.soinside.com 2019 - 2024. All rights reserved.