我知道有很多堆栈溢出页面可以解释如何执行此操作,但每次我从这里获取代码并将其放入我得到相同的错误,并且该错误是" string的值?& #34;没有会员"文字"有什么想法可以用来检查文本字段在swift中是否为空?
let userEmail = userEmailTextField.text;
// Check for empty fields
if (userEmail.text.isEmpty) {
// Display alert message
return;
}
答案 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
属性是可选的。因此它可以包含String
或nil
。
如果您想将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
}
答案 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 {
}