Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如果变量等于使用swift 3的特殊数字,如何显示图像?_Ios_Swift_Xcode - Fatal编程技术网

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)