Swift3 如果Swift 3中的文本字段为空,如何发出警告?

Swift3 如果Swift 3中的文本字段为空,如何发出警告?,swift3,ios10,guard,calculation,Swift3,Ios10,Guard,Calculation,我对Swift 3非常陌生,刚刚学习了一些教程,在学习的过程中学习了一些东西。我正试图写一些代码来执行基于六种不同输入的计算。它工作正常,但当我将文本字段留空时,应用程序会在模拟器中崩溃 我已经做了大量的搜索来寻找答案,似乎“let”或“guard let”功能是一个不错的选择,但我似乎无法成功地实现它。有谁能帮我具体实现一个功能,让我检查文本字段是否为空,并创建一条警告或错误消息 以下是我目前的代码: @IBOutlet weak var field1: UITextField! @IBOut

我对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和任何形式的编码都非常陌生

提前谢谢


拉力3

你可以这样做

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

这样,您将很快退出该函数,因此不会使用空值进行任何计算。

是否应在labelResult.text=“(sum)”之前进行保护?我似乎仍然无法成功地实现这一点!你应该在一开始就加以防范,应该是你职能上的第一件事。