如何在swift中启动UIImage中的变量(名为:firstImage = array.sample())

时间:2015-02-18 20:38:21

标签: iphone swift

我刚开始使用Swift编程。我试图随机向UIImageView显示随机图像。 sample()是我的随机函数。 所以我将变量声明为:

var firstImage: String

然后我用:

prototypeImage1.image = UIImage(named: firstImage = array.sample())

所以我可以在另一种方法中使用变量firstImage,这样我就可以显示点击到另一个点的图片了。但它一直在给我一个编译器来说明这一点 "()不能转换为String"

编辑:

func setImageForSpot(){ 
    prototypeImage1.image = UIImage(named: firstImage = array.sample()) 
    prototypeImage2.image = UIImage(named: secondImage = array.sample()) 
    prototypeImage3.image = UIImage(named: thirdImage = array.sample())
}
func chooseSpotToDisplayWhenClicked(spot:Int){
    switch spot {
        case 0: prototypeImage6.image = UIImage(named: firstImage)
        case 1: prototypeImage6.image = UIImage(named: secondImage)
        case 2: prototypeImage6.image = UIImage(named: thirdImage)
        default: prototypeImage6.image = nil 
    }
 }

1 个答案:

答案 0 :(得分:1)

您无法像这样为firstImage指定值。只需将其分解,如果您的sample()函数正常工作,它应该可以正常工作。 BTW Swift是一种类型推断语言。试一试。

extension Array {
    var sample:T {
    return self[ Int(arc4random_uniform(UInt32(count))) ]
    }
}
let inputArray = ["named1", "named2"]
var firstImage = ""

firstImage = inputArray.sample // "named1"
prototypeImage1.image = UIImage(named: firstImage)