我根据标签名称分配图像。例如,如果标签上写着" Car"然后分配的图像是" CarImage"我使用了这段代码:
if cell.nameLabel.text == “Car” {
if let image = UIImage(named: “CarImage”)
{ cell.imageView?.image = image
}
}
我希望能够为同一图像设置许多标签变体。我正在尝试使用数组:
if cell.nameLabel.text == [“Car”, “Automobile”, “Auto”, "Vehicle",] {
if let image = UIImage(named: “Car”)
{ cell.imageView?.image = image
}
}
但是我已经用几种不同的方式尝试了这种方法,但它无法正常工作。我已经阅读了几个不同的答案,但似乎没有一个干净的方法可以做到这一点。感谢您的任何意见!
答案 0 :(得分:0)
let array = ["Car", "Automobile", "Auto", "Vehicle"]
if array.contains(where: {cell.nameLabel.text != nil && $0 == cell.nameLabel.text!}) {
cell.imageView.image = UIImage(named: "CarImage")
}
array.contains(where: {cell.nameLabel.text != nil && $0 == cell.nameLabel.text!})
将检查["Car", "Automobile", "Auto", "Vehicle"]
数组中的任何字符串是否包含cell.nameLabel.text
中的字符串。如果是这样,请在单元格上设置图像。
你可以想象并做这样的事情:
cell.imageView.image = array
.first(where: {cell.nameLabel.text != nil && $0 == cell.nameLabel.text!})
.flatMap({_ in UIImage(named: "CarImage")})