2017-05-18 46 views
0

我對Swift 3非常陌生,剛剛通過一些教程一起學習了一些東西。我試圖編寫一些代碼來執行基於六個不同輸入的計算。它工作正常,但是當我將文本字段留空時,應用程序在模擬器中崩潰。如何警告Swift 3中的文本字段是否爲空?

我已經完成了搜索答案的負載和負載,看起來「let」或「guard let」函數是要走的路,但我似乎無法成功實現它。任何人都可以幫助我具體實現一個函數,該函數允許我檢查文本字段是否爲空並創建警告或錯誤消息?

這裏是我到目前爲止的代碼:

@IBOutlet weak var field1: UITextField! 
@IBOutlet weak var field2: UITextField! 
@IBOutlet weak var field3: UITextField! 
@IBOutlet weak var field4: UITextField! 
@IBOutlet weak var field5: UITextField! 
@IBOutlet weak var field6: UITextField! 
@IBOutlet weak var labelResult: UILabel! 

@IBAction func Calculate(_ sender: UIButton) { 

    let p = Double (field1.text!) 
    let d = Double (field2.text!) 
    let s = Double (field3.text!) 
    let e = Double (field4.text!) 
    let w = Double (field5.text!) 
    let y = Double (field6.text!) 


    let sum = ((p!*d!)/((2*((s!*e!*w!)+(p!*y!))))) 

    labelResult.text = "\(sum)" 

    } 

任何幫助,將不勝感激!對不起,如果我的術語不正確......就像我說的,我對Swift 3和任何形式的編碼都是非常新的!

在此先感謝。

Rally3

回答

0

你可以做這樣的事情

guard field1.text.isEmpty else { print("You can print here to notify problem") return } 
    guard field2.text.isEmpty else { return } 
    etc.. 

這樣的話,你很快就會退出功能,所以你不會與空值的任何計算。

+0

應該警惕labelResult.text =「\(sum)」之前嗎?我似乎無法成功實現這一點! –

+0

你應該在開始時加以防範,應該是你的功能的第一件事。 –

相關問題