我有此代码,目前无法正常运行。当我单击按钮以切换视图时,什么也没有发生。我正在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;
}
}
不使用rand()
,它不是随机的,请使用arc4random()
和arc4random_uniform()
。
rand()需要一个种子,这是有问题的,没有显式种子,它以1的种子开始。使用相同的种子,该序列是可重复的。
arc4random()不需要种子,它由系统定期种子,并且是密码安全的伪随机数生成器(PRNG)。
在OP情况下,使用:
int randomviews = arc4random_uniform(2);