我想检查UITextFields
的{{1}}状态。在.text
执行一项功能并显示提醒视图!= ""
。由于我有5个不同的if == ""
我想到了UITextFields
语句。
switch
但@IBAction func doneButton(_ sender: Any) {
let indexPath = IndexPath(row: 0, section: 0)
let cell = self.tableView.cellForRow(at: indexPath) as! SetupCell
var textFields: [UITextField] = []
textFields = [cell.nameTF,
cell.townTF,
cell.birthdayTF,
cell.genreTF,
cell.deejayTF]
for tf in textFields {
print("called") // is printed
if tf.text != "" {
print("not empty") // is printed
switch UITextField() {
case cell.nameTF:
saveCredential(ME, "name", cell.nameTF.text!)
case cell.birthdayTF:
saveCredential(ME, "birthday", cell.birthdayTF.text!)
case cell.townTF:
saveCredential(ME, "town", cell.townTF.text!)
case cell.deejayTF:
saveCredential(ME, "deejayName", cell.deejayTF.text!)
case cell.genreTF:
saveCredential(ME, "genre", cell.genreTF.text!)
default:
break
}
} else {
print("is empty") // printed
switch UITextField() {
case cell.nameTF:
presentAlertView(self, title: "Error", message: "Name missing")
case cell.birthdayTF:
presentAlertView(self, title: "Error", message: "Birthday missing")
case cell.townTF:
presentAlertView(self, title: "Error", message: "Town missing")
case cell.deejayTF:
presentAlertView(self, title: "Error", message: "Deejay name missing")
case cell.genreTF:
presentAlertView(self, title: "Error", message: "Genre missing")
default:
break
}
}
}
}
语句中的代码未执行。这种情况既不是空的,也不是。我认为问题可能在switch
,但我无法找到解决方案。我错过了什么?非常感谢帮助。
PS。 switch UITextField()
以及saveCredential
完全适用于应用的其他部分,因此可能不是问题。但可以肯定的是:
presentAlertView
答案 0 :(得分:1)
问题是您是使用UITextFiled
语句传递switch
的新实例,而不是从Array
传递对象。
switch tf {
而不是
switch UITextField() {