文本字段甚至是空的,但在 Swift 中不考虑为空
Textfield is even empty but not considering as empty in Swift
我有多个文本字段,如果所有字段都已填写,那么我只需要调用一些方法,否则我必须发出警报。
但是,即使文本字段是空的,它正在执行条件为假。
if genderTextField.text?.isEmpty == true && weightTextField.text?.isEmpty == true && heightTextField.text?.isEmpty == true {
self.showAlert(withTitle:"Title", withMessage: "Fill all the fields")
} else {
//call some function
}
但是,如果我打印文本字段文本
po genderTextField.text
▿ Optional<String>
- some : ""
有什么建议吗?
Swift 5.2
一种更优雅的方法是在 UITextField
上创建一个扩展
extension UITextField {
var isEmpty: Bool {
if let text = self.text, !text.isEmpty {
return false
} else {
return true
}
}
}
然后你这样检查:
if genderTextField.isEmpty || weightTextField.isEmpty || heightTextField.isEmpty {
showAlert()
} else {
// do something else
}
我有多个文本字段,如果所有字段都已填写,那么我只需要调用一些方法,否则我必须发出警报。
但是,即使文本字段是空的,它正在执行条件为假。
if genderTextField.text?.isEmpty == true && weightTextField.text?.isEmpty == true && heightTextField.text?.isEmpty == true {
self.showAlert(withTitle:"Title", withMessage: "Fill all the fields")
} else {
//call some function
}
但是,如果我打印文本字段文本
po genderTextField.text
▿ Optional<String>
- some : ""
有什么建议吗?
Swift 5.2
一种更优雅的方法是在 UITextField
extension UITextField {
var isEmpty: Bool {
if let text = self.text, !text.isEmpty {
return false
} else {
return true
}
}
}
然后你这样检查:
if genderTextField.isEmpty || weightTextField.isEmpty || heightTextField.isEmpty {
showAlert()
} else {
// do something else
}