2016-09-15 101 views
0

您好,我对swift编程语言非常陌生,现在我正在学习一个教程。 我正在运行udemy的小费计算器课程。基本:swift代码中的错误,但无法找出原因

据我所见,我有相同的代码老师正在使用,但这个课程是从ios 8早9次我不知道如果迅速或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

从'calculateTip'函数中删除返回类型,因为不需要它,因为您如何使用它! – Lion

回答

0

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

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

0

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

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

为了只是抑制这种警告是:

print(calculateTip()) 

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

0

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

如果你想解决的警告(不是错误),你做这样的事情......

if calculateTip() 
{ 
    // Do something here 
} 
else 
{ 
    // Do something here 
} 
0

如果你想关闭此警告,把@discardableResult在函数声明:

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

另一种方式:

_ = calculateTip() 

但我认为它能够更好地使用第一个选项。将保持你的代码清洁。

相关问题