2016-09-15 70 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() 

但我認爲它能夠更好地使用第一個選項。將保持你的代碼清潔。

相關問題