【发布时间】:2019-09-09 13:42:53
【问题描述】:
我在 xcode 10.3 中创建了一个应用程序,它可以快速有效地计算出 9 个变量来给出 5 个结果。要选择变量,它是通过一个 9 轮选择器视图。
我在下面的一些示例代码中添加了所有变量,它运行完美,给出了正确的结果。但是构建时间最多需要三个小时......这是我做错了吗?
正如下面的代码所示,一旦 didSelectRow 开始变得忙碌,那么构建时间就非常紧迫。大约有 300 多个“if”语句涵盖了 pickerView 中的变量。
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
let runway = runwaydataSource[pickerView.selectedRow(inComponent: 0)]
let flap = flapdataSource[pickerView.selectedRow(inComponent: 1)]
let wght = weightdataSource[pickerView.selectedRow(inComponent: 2)]
let alt = altdataSource[pickerView.selectedRow(inComponent: 3)]
let wind = winddataSource[pickerView.selectedRow(inComponent: 4)]
let slope = slopedataSource[pickerView.selectedRow(inComponent: 5)]
let temp = tempdataSource[pickerView.selectedRow(inComponent: 6)]
let vref = vrefdataSource[pickerView.selectedRow(inComponent: 7)]
let rev = revdataSource[pickerView.selectedRow(inComponent: 8)]
runwaylabel.text = "\(runway)"
flaplabel.text = "\(flap)°"
weightlabel.text = "\(wght)kg"
altlabel.text = "\(alt)ft"
windlabel.text = "\(wind)kts"
slopelabel.text = "\(slope)°"
templabel.text = "\(temp)°C"
vreflabel.text = "\(vref)kts"
revlabel.text = "\(rev)"
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// :::::::::: FLAP REF ADJUSTMENT CALCULATION (DRY) ::::::::::::
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if runwaylabel.text == "Dry" && flaplabel.text == "20°" {
flaprefadjust.text = "\(1465)"
flaprefadjustmax.text = "\(2000)"
flaprefadjust4.text = "\(2590)"
flaprefadjust3.text = "\(3050)"
flaprefadjust2.text = "\(3340)"
flaprefadjust1.text = "\(3595)"
}
else if runwaylabel.text == "Dry" && flaplabel.text == "25°" {
flaprefadjust.text = "\(1360)"
flaprefadjustmax.text = "\(1820)"
flaprefadjust4.text = "\(2335)"
flaprefadjust3.text = "\(2745)"
flaprefadjust2.text = "\(3005)"
flaprefadjust1.text = "\(3240)"
}
else if runwaylabel.text == "Dry" && flaplabel.text == "30°" {
flaprefadjust.text = "\(1300)"
flaprefadjustmax.text = "\(1705)"
flaprefadjust4.text = "\(2175)"
flaprefadjust3.text = "\(2545)"
flaprefadjust2.text = "\(2805)"
flaprefadjust1.text = "\(3035)"
}
else if runwaylabel.text == "Good" && flaplabel.text == "20°" {
flaprefadjust.text = "\(2035)"
flaprefadjustmax.text = "\(2115)"
flaprefadjust4.text = "\(2595)"
flaprefadjust3.text = "\(3050)"
flaprefadjust2.text = "\(3340)"
flaprefadjust1.text = "\(3595)"
}
else if runwaylabel.text == "Good" && flaplabel.text == "25°" {
flaprefadjust.text = "\(1865)"
flaprefadjustmax.text = "\(1935)"
flaprefadjust4.text = "\(2350)"
flaprefadjust3.text = "\(2745)"
flaprefadjust2.text = "\(3005)"
flaprefadjust1.text = "\(3240)"
}
else if runwaylabel.text == "Good" && flaplabel.text == "30°" {
flaprefadjust.text = "\(1775)"
flaprefadjustmax.text = "\(1835)"
flaprefadjust4.text = "\(2180)"
flaprefadjust3.text = "\(2545)"
flaprefadjust2.text = "\(2805)"
flaprefadjust1.text = "\(3035)"
}
let flaprefadjustresult = NSString(string: flaprefadjust.text!).doubleValue
let flaprefadjustresultmax = NSString(string: flaprefadjustmax.text!).doubleValue
let flaprefadjustresult4 = NSString(string: flaprefadjust4.text!).doubleValue
let flaprefadjustresult3 = NSString(string: flaprefadjust3.text!).doubleValue
let flaprefadjustresult2 = NSString(string: flaprefadjust2.text!).doubleValue
let flaprefadjustresult1 = NSString(string: flaprefadjust1.text!).doubleValue
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// :::::::::: WEIGHT ADJUSTMENT CALCULATIONS (DRY) :::::::::::::
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if runwaylabel.text == "Dry" && flaplabel.text == "20°" && weightlabel.text == "340,000kg" {
weightadjust.text = "\(630)"
weightadjustmax.text = "\(450)"
weightadjust4.text = "\(630)"
weightadjust3.text = "\(810)"
weightadjust2.text = "\(900)"
weightadjust1.text = "\(1170)"
}
else if runwaylabel.text == "Dry" && flaplabel.text == "20°" && weightlabel.text == "335,000kg"{
weightadjust.text = "\(595)"
weightadjustmax.text = "\(425)"
weightadjust4.text = "\(595)"
weightadjust3.text = "\(765)"
weightadjust2.text = "\(850)"
weightadjust1.text = "\(1105)"
}
else if runwaylabel.text == "Dry" && flaplabel.text == "20°" && weightlabel.text == "330,000kg"{
weightadjust.text = "\(560)"
weightadjustmax.text = "\(400)"
weightadjust4.text = "\(560)"
weightadjust3.text = "\(720)"
weightadjust2.text = "\(800)"
weightadjust1.text = "\(1040)"
}
【问题讨论】:
标签: swift xcode compilation