代码之家  ›  专栏  ›  技术社区  ›  Shift72

如何返回正确的UIImageView

  •  -2
  • Shift72  · 技术社区  · 7 年前

    寻找使用函数检查“数字”并返回正确UIImageView的方法,而不必执行长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 回复  |  直到 7 年前
        1
  •  1
  •   Sweeper    7 年前

    这里有一种缩短代码的方法。

    使用图像视图制作阵列:

    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
    

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

    imageViewArray[number - 1]
    

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