如何返回正确的UIImageView

时间:2017-10-15 17:01:44

标签: swift swift3 uiimageview

寻找使用函数来检查“数字”并返回正确的UIImageView的方法,而不是必须创建一个long if语句。这是我目前使用的代码:

 randNumber = Int(arc4random_uniform(UInt32(array.count)))    

          if number == 1{
            image1.image = UIImage(named: array[randNumber])
            number += 1
        } else if number == 2{
            image2.image = UIImage(named: array[randNumber])
            number += 1
        } else if number == 3{
            image3.image = UIImage(named: array[randNumber])
            number += 1
        } else if number == 4{
            image4.image = UIImage(named: array[randNumber])
            number += 1
        }

如果数字为3,则返回image3

有人有任何建议吗?

1 个答案:

答案 0 :(得分:1)

这是一种缩短代码的方法。

从图片视图中制作一个数组:

let imageViewArray = [image1, image2, image3, image4]

生成随机数:

randNumber = Int(arc4random_uniform(UInt32(array.count)))

这就是魔术。由于number的值与您要使用的图像视图之间的对应关系如下:

number    ImageView
1         image1
2         image2
3         image3
4         image4

和数组的索引'与图像视图的对应关系如下:

index     ImageView
0         image1
1         image2
2         image3
3         image4

我们只需要从number中减去一个,使其与数组索引匹配。这意味着我们可以使用此表达式来访问我们想要的图像视图:

imageViewArray[number - 1]

整行将是这样的:

imageViewArray[number - 1].image = UIImage(named: array[randNumber])