Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 返回不适用于UiLabel的值的if语句_Swift_If Statement - Fatal编程技术网

Swift 返回不适用于UiLabel的值的if语句

Swift 返回不适用于UiLabel的值的if语句,swift,if-statement,Swift,If Statement,我对swift和编程相当陌生,我试图显示if语句中的值。这是我的UiLabel内的func。我尝试了一些类似的变化,但它只返回“calculate.fuelTank”,它似乎从未触发IF语句的第二部分 @IBOutlet weak var startingFuelDisplay: UILabel! //not working yet func refreshUiopeningFuel() { if calculate.totalFuel <= Double(ca

我对swift和编程相当陌生,我试图显示if语句中的值。这是我的UiLabel内的func。我尝试了一些类似的变化,但它只返回“calculate.fuelTank”,它似乎从未触发IF语句的第二部分

@IBOutlet weak var startingFuelDisplay: UILabel!  //not working yet
    func refreshUiopeningFuel() {

        if calculate.totalFuel <= Double(calculate.fuelTank) {

            print (Double(calculate.fuelTank)) // FuelTank

        } else {

            print (calculate.totalFuel) // TotalFuel
        }
@IBOutlet弱var启动FuelDisplay:UILabel//还没开始工作
func refreshUiopeningFuel(){
如果计算总燃料管柱{
返回totalFuelDisplay.text!
}
@IBOUTLE弱var总停止显示:UILabel!
func refreshUiStops()->字符串{
返回totalStopsDisplay.text!
}
@IBOutlet弱var tyreLifeDisplay:UILabel!
func refreshUiTyreLife()->字符串{
返回tyrelifesplay.text!
}
@IBOutlet弱var tyreLifeLapsDisplay:UILabel!
func refreshUiTyreLifeLaps()->字符串{
返回tyreLifeLapsDisplay.text!
}
@IBOUTLE弱var pitOnLapDisplay:UILabel!
func refreshUiBoxOnLap(){
}
@IBOutlet弱var启动FuelDisplay:UILabel!//尚未工作
func refreshUiopeningFuel()->Double{
打印(计算燃油箱)
打印(计算总燃油)

if calculate.totalFuel从自然现实逻辑判断,似乎您只是简单地颠倒了if/else逻辑。if
totalFuel
似乎小于油箱的容量(if
子句),在这种情况下,您应该返回
totalFuel
,并在
else
子句中返回油箱容量。

如果在比较之前打印正在比较的两个值,您会看到什么?需要更多信息。您是在尝试在Xcode调试区域获得控制台输出,这是
print
所做的,还是您自己做的您希望
ui标签
启动FuelDisplay
更新其显示?是什么原因导致调用
刷新打开Fuel
的?此处未显示任何内容。您的意思是将其作为一个
@iAction
功能?可能与点击按钮关联?此外,“内”也没有函数一个IBOutlet对象。您的函数
refreshUiopeningFuel()
位于包含类中的
UILabel
旁边,可能是
class ViewController:UIViewController
。还没有任何东西可以将它们联系在一起,所以请从功能的角度来描述它,以便我们可以告诉您该怎么做。我之前在按下按钮操作时的代码中发现了一个小错误,我将燃油箱声明为结果。我现在修改了“startingFuelDisplay()”,现在在控制台输出中,我看到func之前的值是我在代码中设置的预设值。显示控制台输出(来自那些
print()
语句)如果您希望触发
else
子句,则会打印该语句。不,返回到绘图板,这不是必须以另一种方式执行的吗
import UIKit

class ViewController: UIViewController {
    let calculate = Inputs ( raceLaps: 13, fuelRate: 3.7, fuelTank: 110, laptime: 85.456, tyreWear: 0.05 )

    @IBOutlet weak var rate: UITextField!
    @IBOutlet weak var laps: UITextField!
    @IBOutlet weak var tank: UITextField!
    @IBOutlet weak var tyreWear: UITextField!
    @IBOutlet weak var laptime: UITextField!

    @IBOutlet var cancelKeyboard: UITapGestureRecognizer!


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        //Looks for single or multiple taps.
        let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
        view.addGestureRecognizer(tap)
    }

    //Calls this function when the tap is recognized.
    func dismissKeyboard() {
        //Causes the view (or one of its embedded text fields) to resign the first responder status.
        view.endEditing(true)

            }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
        refreshUiFuel()
        refreshUiStops()
        refreshUiTyreLife()
        refreshUiTyreLifeLaps()
        refreshUiopeningFuel()
        refreshUiBoxOnLap ()


    }



    @IBAction func calculate(sender: UIButton) {
        if let rateVal = Double(rate.text!),
            tankVal = Int(tank.text!),
            lapVal = Int(laps.text!),
            wearVal = Double(tyreWear.text!),
        laptimeVal: Float = 85.456 {
                let fuelModel = Inputs(raceLaps: lapVal, fuelRate: rateVal, fuelTank: tankVal, laptime: laptimeVal, tyreWear: wearVal )
                totalFuelDisplay.text = ("\(Double(fuelModel.totalFuel))")
                totalStopsDisplay.text = ("\(Int(fuelModel.totalStops))")
                tyreLifeDisplay.text = ("\(Int(fuelModel.tyreChangesRaceDistanceTotal))")
                tyreLifeLapsDisplay.text = ("\(Int(fuelModel.tyreLife))")
                startingFuelDisplay.text = ("\(refreshUiopeningFuel())")
        }
        else {
            totalFuelDisplay.text = "missing value"
            totalStopsDisplay.text = "missing value"
            tyreLifeDisplay.text = "missing value"
            tyreLifeLapsDisplay.text = "missing value"
            startingFuelDisplay.text = "missing Value"
        }

                   }

    @IBOutlet weak var totalFuelDisplay: UILabel!
    func refreshUiFuel()->String {
        return totalFuelDisplay.text!
    }

    @IBOutlet weak var totalStopsDisplay: UILabel!
    func refreshUiStops()->String {
        return totalStopsDisplay.text!
    }

    @IBOutlet weak var tyreLifeDisplay: UILabel!
    func refreshUiTyreLife()->String {
        return tyreLifeDisplay.text!
    }
    @IBOutlet weak var tyreLifeLapsDisplay: UILabel!
    func refreshUiTyreLifeLaps()->String {
        return tyreLifeLapsDisplay.text!
    }
    @IBOutlet weak var pitOnLapDisplay: UILabel!
    func refreshUiBoxOnLap () {

    }



    @IBOutlet weak var startingFuelDisplay: UILabel!  //not working yet
        func refreshUiopeningFuel() ->Double {

            print(calculate.fuelTank)
            print(calculate.totalFuel)

            if calculate.totalFuel <= Double(calculate.fuelTank) {

                return Double(calculate.fuelTank) // FuelTank

            } else {

                return calculate.totalFuel // TotalFuel
            }


  }
}