IOS随机图片

我正在试图加载视图时有一个随机图像显示。

我可以得到一个图像显示,但它不是随机的,它出现%的位置。

例如,这个代码总是显示第四个图像。

这是我的代码。

{ [super viewDidLoad]; int randomImages = rand() % 4; switch (randomImages) { case 0: _imageView.image = [UIImage imageNamed:@"1.png"]; break; case 1: _imageView.image = [UIImage imageNamed:@"2.png"]; break; case 2: _imageView.image = [UIImage imageNamed:@"3.png"]; break; case 3: _imageView.image = [UIImage imageNamed:@"4.png"]; break; } } 

任何人都知道我在做什么错了?

 ((arc4random() % 4) + 1) 

我有同样的问题rand()是可预测的。 切换到arc4random(),生活变得更好。

编辑:

如果你想要一些不错的东西并简化,你可以用下面的代码replace整个开关块:

 [super viewDidLoad]; _imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png", ((arc4random() % 4) + 1)]]; 

尝试arc4random_uniform(upper_bound)。 它返回一个介于0和upper_bounds-1之间的数字

像这样尝试,

  int randomImages = random()%4;