UIImage 除了数组什么都不接受

UIImage won't take anything but the array

我无法让 UIImage 获取数组以外的任何内容。我已经尝试了几种不同的选择,包括创建一个 var 或将图像名称放在那里,但我似乎无法接受它。

@IBAction func displayPressed(_ sender: Any) { 
    externalPicture.image = UIImage (named: externalArray [1])
    seatingSetup.image = UIImage (named: seatingArray ["\(forPicture())" + "seating"])
}

func forPicture() -> String {
    var aircraftFullName = ""
    let manuf = aircraftType.selectedRow(inComponent: 0)
    let model = aircraftType.selectedRow(inComponent: 1)
    if manuf < aircraft.count {
        aircraftFullName = aircraft[manuf]
        if let aircraftModels =  models[aircraftFullName] {
            if model < aircraftModels.count {
                aircraftFullName = aircraftFullName  + " " + aircraftModels[model]
            }
        }
    }
    selectedAircraft.text = aircraftFullName

    if aircraftFullName != "0" {}
    return "\(aircraftFullName)"
}

let aircraft = ["Airbus", "Boeing", "Bombardier", "Embraer"]
var models = [ "Airbus": ["A300", "A320", "A330", "A340", "A350", "A380"], "Boeing": ["B737", "B747", "B757", "767", "777", "787"], "Bombardier": ["CRJ200", "CRJ700/900"], "Embraer": ["ERJ145", "ERJ170", "ERJ190"] ]

var externalArray = ["320outside", "747outside"]
var seatingArray = ["AirbusA320seating", "BoeingB747seating"]

你可以尝试转换这个

aircraftFullName = aircraftFullName  + " " + aircraftModels[model]

aircraftFullName = aircraftFullName + aircraftModels[model]

编辑 : 根据你的forPicture()方法图像应该是这样的Airbus A320seating 但是对于AirbusA320seating 你需要删除上面提到的 space

seatingSetup.image = UIImage (named:"\(forPicture())" + "seating")

//

如果你想让 space 显示在文本字段中,你可以创建其他变量,return 像这样

func forPicture() -> String {
    var aircraftFullName = ""
    var aircraftFullNameNoSpace = ""
    let manuf = aircraftType.selectedRow(inComponent: 0)
    let model = aircraftType.selectedRow(inComponent: 1)
    if manuf < aircraft.count {
        aircraftFullName = aircraft[manuf]
        if let aircraftModels =  models[aircraftFullName] {
            if model < aircraftModels.count {
                aircraftFullName = aircraftFullName  + " " + aircraftModels[model]
                aircraftFullNameNoSpace = aircraftFullName + aircraftModels[model]
            }
        }
    }
    selectedAircraft.text = aircraftFullName

    if aircraftFullName != "0" {}
    return aircraftFullNameNoSpace 
}