Ios 如果变量等于使用swift 3的特殊数字,如何显示图像?
我有三张图片(Ios 如果变量等于使用swift 3的特殊数字,如何显示图像?,ios,swift,xcode,Ios,Swift,Xcode,我有三张图片(lvl1.png、lvl2.png、lvl3.png)和一个变量(let level=1)。如果level=2,当level=3我需要显示最后一个图像(lvl3.png),我应该如何显示名为“lvl2”的图像?您可以使用: let image = UIImage(named: "lvl\(level).png") 或 你可以试试 imgName = "lvl" + String(lavel) imageView.image = UIImage(named: imgName)
lvl1.png、lvl2.png、lvl3.png
)和一个变量(let level=1
)。如果level=2
,当level=3
我需要显示最后一个图像(lvl3.png),我应该如何显示名为“lvl2”的图像?您可以使用:
let image = UIImage(named: "lvl\(level).png")
或
你可以试试
imgName = "lvl" + String(lavel)
imageView.image = UIImage(named: imgName)
你可以试试
var level = 1 {
didSet {
self.imageview.image = UIImage(named: "lvl\(level)")
}
}
更改级别时,imageView将自动更改另一种方法是创建一个返回图像的方法,如下所示:
func imageFor(level: Int) -> UIImage? {
let image = UIImage(named: "lvl\(currentLevel)")
return image
}
用法:
var currentLevel = 1
let image = imageFor(level: currentLevel)
imageview.image=UIImage(名为:“lvl\(level)”)
我认为@MoayasAlkouz的答案可能更安全,因为它使用了开关盒并设置了一个带有空构造函数的默认映像。@enea dume在这里不需要var
。切换完成,这意味着图像将始终有一个值,并且永远不会被取消初始化。在这种情况下,使用let
是可以的。@MoayadAlkouz我有这样的错误:将您的图像分配给您的图像视图:avatar.image=image
@IvanA,位于开关括号的末尾,查看编辑后的回答您应该避免强制展开图像并接受它,因为它可能返回nil
——如果文件名不存在,就会出现这种情况。因此,该函数应返回可选的UIImage
。这样代码就更安全了,有效性检查也已经完成了。@TomE我的工作假设OP有少量的图像,他知道它们都会在那里,但你的观点是正确的。
var currentLevel = 1
let image = imageFor(level: currentLevel)