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
}
我无法让 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
}