我有4个文本框。我不想让用户让所有这4个文本字段都为空。如何在swift中检查多个条件。我确实喜欢这个,但它给了我一个错误
if self.txtIncomeAd.text?.isEmpty && self.txtIncomeRec.text?.isEmpty &&
明智的。我能做到这一点的正确方法是什么?
请帮我。
感谢
答案 0 :(得分:4)
你可以简单地使用isEmpty属性。
if !self.textFieldOne.text!.isEmpty && !self.textFieldTwo.text!.isEmpty && !self.textFieldThree.text!.isEmpty && !self.textFieldFour.text!.isEmpty {
...
}
或者您也可以安全地打开文本值并检查它是否为空
if let text1 = self.textFieldOne.text, text2 = self.textFieldTwo.text, text3 = self.textFieldthree.text,text4 = self.textFieldFour.text where !text1.isEmpty && !text2.isEmpty && !text3.isEmpty && !text4.isEmpty {
...
}
或者您可以与Empty""进行比较。串
if self.textFieldOne.text != "" && self.textFieldTwo.text != "" && self.textFieldThree.text != "" && self.textFieldFour.text != "" {
...
}
我们也可以使用Guard
guard let text = self.myTextField.text where !text.isEmpty else {
return
}
答案 1 :(得分:1)
if !self.txtIncomeAd.text!.isEmpty && !self.txtIncomeRec.text!.isEmpty && !self.txtIncomeAd.text!.isEmpty && !self.txtIncomeRec.text!.isEmpty
{
...
}
答案 2 :(得分:0)
它会给您一个错误,因为textField中的文本是可选的。首先,你必须打开它们。
if let txtIncomeAd = self.txtIncomeAd.text,
let txtIncomeRec = self.txtIncomeRec.text {
if txtIncomeAd.isEmpty && txtIncomeRec.isEmpty {
// Do Something
}
} else {
// Empty text field
}
答案 3 :(得分:0)
您可以使用 isEmpty 布尔属性进行检查。
if ((inputTextField.text?.isEmpty) != nil && (inputTextField1.text?.isEmpty)!= nil && (inputTextField2.text?.isEmpty)!=nil) {
}
或
if ((inputTextField.text?.isEmpty)! && (inputTextField1.text?.isEmpty)! && (inputTextField2.text?.isEmpty)!) {
}
答案 4 :(得分:0)
这里有点不同:
extension UILabel {
var textIsEmpty: Bool { return text?.isEmpty ?? true }
}
class MyClass: UIView {
let txtIncomeAd = UILabel()
let txtIncomeRec = UILabel()
var textFieldsAreNonEmpty: Bool {
return ![txtIncomeAd, txtIncomeRec].contains { $0.textIsEmpty }
}
}
let c = MyClass()
c.txtIncomeAd.text = "hello"
c.txtIncomeRec.text = "there"
if c.textFieldsAreNonEmpty {
print("text fields are valid")
}