嗨,我是快速编码语言的新手,我现在正在学习教程。 我正在运行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()未使用)
我敢打赌,这对你们中的一些人来说很容易解决,但我无法弄清楚为什么会出错。
如果有人需要任何其他信息,请问我。
答案 0 :(得分:0)
在你的代码中,函数calculateTip
被定义为返回一个布尔值,但是在函数的调用中,你永远不会使用该值。您只需调用函数而不将结果赋给变量或以其他方式使用它。
也许您想删除函数定义中的-> Bool
。
答案 1 :(得分:0)
这不是错误,这是一个警告。
这意味着您调用了返回Bool值的方法calculateTip()
。但你没有在任何地方使用过这个结果。
仅针对此禁止此警告:
print(calculateTip())
现在打印方法的输出,意味着现在使用输出!
答案 2 :(得分:0)
这是一个警告。编译器试图解释的是你的函数返回一个布尔值,但你没有在代码中使用它。
如果你想解决警告(而不是错误),你可以做类似的事情......
</center>
答案 3 :(得分:0)
如果要使此警告静音,请将@discardableResult
放入功能声明:
@discardableResult fund calculateTip() -> Bool {
return true
}
另一种方式:
_ = calculateTip()
但我觉得使用第一个选项会更好。将保持您的代码清洁。