检查文本字段是否为空Swift

时间:2016-07-02 17:10:21

标签: swift textfield

我知道有很多堆栈溢出页面可以解释如何执行此操作,但每次我从这里获取代码并将其放入我得到相同的错误,并且该错误是" string的值?& #34;没有会员"文字"有什么想法可以用来检查文本字段在swift中是否为空?

let userEmail = userEmailTextField.text;
// Check for empty fields
if (userEmail.text.isEmpty) {
    // Display alert message
    return;
}

6 个答案:

答案 0 :(得分:27)

This post给出了一个很好的答案(遗憾的是它没有“接受”标记)。使用(self.field.text?.isEmpty ?? true)

假设您的textField被声明为:

    @IBOutlet weak var textField: UITextField!

你可以用以下方法检查它的空虚:

    if textField.text?.isEmpty ?? true {
        print("textField is empty")
    } else {
        print("textField has some text")
    }

使用编辑过的帖子中的变量:

    let userEmail = userEmailTextField.text;
    // Check for empty fields
    if userEmail?.isEmpty ?? true {
        // Display alert message
        return;
    }

或:

    // Check for empty fields
    if userEmailTextField.text?.isEmpty ?? true {
        // Display alert message
        return;
    }

答案 1 :(得分:4)

text属性是可选的。因此它可以包含Stringnil

如果您想将nil视为空String,请填写

let isEmpty = (textField.text ?? "").isEmpty

答案 2 :(得分:2)

或者您也可以使用:

if (textField.text.characters.count > 0) {
   print("text field not empty")
} else {
   print("text field empty")
}

答案 3 :(得分:1)

请提供示例图片和封面代码。

@IBAction func save(_ sender: Any) {
    print("Saving...")
    //CHECK MANDATORY FIELDS
    checkMandatoryFields()
}

private func checkMandatoryFields(){

    //CHECK EMPTY FIELDS
    if let type = typeOutle.text, let name = nameOutlet.text, let address = addressOutlet.text, type.isEmpty || name.isEmpty || address.isEmpty {
        print("Mandatory fields are: ")
        errorDisplay(error: "Mandatory fields are: Type, Name, Address.")
        return
    }

    //CHECK SPACE ONLY FIELDS
}

enter image description here

答案 4 :(得分:0)

这是正确答案。

textField.text = ""
if (textField.text.isEmpty) {
    print("Ooops, it's empty")
}

答案 5 :(得分:0)

正是这项检查为我提供了帮助,因为有必要向API发送请求,并且有必要发送 nill 而不是“” textField 没有文本。

textField.text!.count > 0  ? textField.text : nil

或者,您可以通过这种方式进行检查(但是此选项不适合我):

if textField.text != nil {

} else {

}