基本:快速代码中的错误但无法找出原因

时间:2016-09-15 07:09:10

标签: ios swift runtime-error

嗨,我是快速编码语言的新手,我现在正在学习教程。 我正在运行udemy的小费计算器课程。

据我所知,我有相同的代码,老师正在使用但是这个课程是从ios 8早9次我不知道swift或xcode语言是否随着时间的推移而改变。

这是我的代码。

import UIKit

class ViewController: UIViewController {

    
    @IBOutlet weak var txtmaelcost: UITextField!
    @IBOutlet weak var txtTip: UITextField!
    
        @IBOutlet weak var lblTipcalculated: UILabel!
    
    var mealCost = ""
    var tipPercentage = ""
    var awnser : Float = 0
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    @IBAction func btnCalculate(_ sender: UIButton) {
    calculateTip()
    
    }
    
    @IBAction func btnClear(_ sender: UIButton) {
    }
  
    func calculateTip() -> Bool {
        tipPercentage = txtTip.text!
        mealCost = txtmaelcost.text!
        
        let fMealCost = (mealCost as NSString).floatValue
        let fTipprecentage = (tipPercentage as NSString).floatValue
        
        awnser = fMealCost * (fTipprecentage * 0.01)
        
        lblTipcalculated.text = "(awnser)"
    return true
    }

}

现在我的错误在中间calculateTip() 它说(调用的结果calculateTip()未使用)

我敢打赌,这对你们中的一些人来说很容易解决,但我无法弄清楚为什么会出错。

如果有人需要任何其他信息,请问我。

4 个答案:

答案 0 :(得分:0)

在你的代码中,函数calculateTip被定义为返回一个布尔值,但是在函数的调用中,你永远不会使用该值。您只需调用函数而不将结果赋给变量或以其他方式使用它。

也许您想删除函数定义中的-> Bool

答案 1 :(得分:0)

这不是错误,这是一个警告。

这意味着您调用了返回Bool值的方法calculateTip()。但你没有在任何地方使用过这个结果。

仅针对此禁止此警告:

print(calculateTip())

现在打印方法的输出,意味着现在使用输出!

答案 2 :(得分:0)

这是一个警告。编译器试图解释的是你的函数返回一个布尔值,但你没有在代码中使用它。

如果你想解决警告(而不是错误),你可以做类似的事情......

</center>

答案 3 :(得分:0)

如果要使此警告静音,请将@discardableResult放入功能声明:

@discardableResult fund calculateTip() -> Bool {
    return true
}

另一种方式:

_ = calculateTip()

但我觉得使用第一个选项会更好。将保持您的代码清洁。