如果nameTextField.text!.isEmpty不起作用?

时间:2018-08-11 06:38:48

标签: swift

我正在尝试检查textField是否为空,是否显示弹出窗口:

func missingText (title: String, message: String)
    {
        let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert)


        alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: { (action) in
            alert.dismiss(animated: true, completion: nil)
        }))
        self.present(alert, animated: true, completion: nil)
    }

 @IBAction func registerButton(_ sender: UIButton) {


            //Display errormsg for missing entry
            if nameTextField.text!.isEmpty
            {

                missingText(title: "Error", message: "Missing name")
            }    
}    

当文本字段为空时,什么也没有发生。我(认为)我在另一个应用程序中具有完全相同的代码,并且工作正常。.我缺少什么? nameTextField已连接。

3 个答案:

答案 0 :(得分:0)

我猜textfield文本为nil。这样它可能不会被调用。尝试以下代码

@IBAction func registerButton(_ sender: UIButton) {


    guard let text = textField.text, text != "" else{
        missingText(title: "Error", message: "Missing name")
        return
    }

    //  do stuff with text,
}

答案 1 :(得分:0)

u可以尝试这一方法,这可能会对您有所帮助。 nametextfield.text,!text.empty

答案 2 :(得分:0)

我曾经有一个类似的问题,结果是我没有使用placeholder来描述文本字段,而是使用了Text。两者都位于textField的“属性”检查器中。因此,如果您使用Text进行描述,则textField将永远不会为空。