Swift 返回不适用于UiLabel的值的if语句
我对swift和编程相当陌生,我试图显示if语句中的值。这是我的UiLabel内的func。我尝试了一些类似的变化,但它只返回“calculate.fuelTank”,它似乎从未触发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
@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逻辑。iftotalFuel
似乎小于油箱的容量(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
}
}
}