2017-05-18 11 views
0

私はSwift 3に非常に新しく、いくつかのチュートリアルでいくつか作業を進めてきました。私は6つの異なる入力に基づいて計算を実行するためのコードを書くことを試みています。それはうまく動作しますが、テキストフィールドを空のままにすると、シミュレータでアプリがクラッシュします。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

あなたは冒頭に注意してください、あなたの機能の最初のものでなければなりません。 –

関連する問題