我试图将图像发送到另一个视图,但问题是它没有在UIImage中显示图像。
我正在做的是将一个字符串发送到另一个视图,如果该字符串与"一个"或者"两个"等等。它应该从资产中获取图像。
if imagen=="one" {
miImagen == UIImage(named: "one")
}
我检查我发送的内容并打印出来(并且有效)。它唯一没有显示它。
import UIKit
class SecondController: UIViewController {
@IBOutlet weak var miImagen: UIImageView!
var imagen = String()
override func viewDidLoad() {
super.viewDidLoad()
if imagen=="uno" {
self.miImagen.image == #imageLiteral(resourceName: "uno")
}
if imagen=="dos" {
self.miImagen.image == #imageLiteral(resourceName: "dos")
}
if imagen=="three" {
self.miImagen.image == #imageLiteral(resourceName: "three")
}
if imagen=="four" {
self.miImagen.image == #imageLiteral(resourceName: "four")
}
if imagen=="five" {
self.miImagen.image == #imageLiteral(resourceName: "five")
}
if imagen=="six" {
self.miImagen.image == #imageLiteral(resourceName: "six")
}
if imagen=="seven" {
self.miImagen.image == #imageLiteral(resourceName: "seven")
}
if imagen=="eight" {
self.miImagen.image == #imageLiteral(resourceName: "eight")
}
}
}
我添加了一个" ifs" print("Your image name is"+imagen")
并且它有效,但它不会执行其他代码。
答案 0 :(得分:1)
您的主要问题是尝试使用==
代替=
将图片分配到图片视图。
之后,您可以进行一些改进。由于imagen
只能等于一个值,因此您应该使用if else
。
if imagen == "uno" {
miImagen.image = UIImage(named: "uno")
} else if imagen == "dos" {
miImagen.image = UIImage(named: "dos")
} else if ... { // etc.
}
更好的是,使用switch
:
switch imagen {
case "uno":
miImagen.image = UIImage(named: "uno")
case "dos":
miImagen.image = UIImage(named: "dos")
// and the rest
default:
break
}
但最好的解决方案是考虑到您想要的图像与imagen
的值相同。仅使用
if
miImagen.image = UIImage(named: imagen)
这就是你所需要的一切。只需一行就可以处理所有图像。