我正在通过制作一个保存客户数据的应用程序来练习快速编程。该应用程序有几个文本字段,人们应该在其中输入姓名、电子邮件地址、电话号码和购买的产品数量。然后通过“提交”按钮,他们将该信息保存到数据库中。但是,如果其中一个字段为空,则应抛出错误,并向用户显示一条消息,让他/她知道其中一个字段为空。
问题是,即使文本字段为空,编译器也不会将其读取为 nil,所以我的条件不起作用。
为了简单起见,我省略了很多代码。我只会使用一个 UITextField(客户姓名),并且我的条件将检查 TextField 是否为空。如果为空,则应打印“请输入有效名称”。如果不为零,则应打印客户的姓名。
class RaffleViewControler: UIViewController, UITextFieldDelegate {
@IBOutlet weak var customerNameTextField: UITextField!
@IBAction func addCustomerName(_ sender: UITextField) {
}
@IBOutlet weak var submitButton: UIButton!
@IBAction func submitCustomer(_ sender: UIButton) {
if let name = customerNameTextField.text {
print(name)
} else {
print("Please enter a valid name")
}
}
另外,我还按照以下格式检查我的状况:
@IBAction func submitCustomer(_ sender: UIButton) {
if customerNameTextField.text != nil {
print("Congrats. Your data is in our database")
} else {
print("Please enter a valid name")
}
}
问题:
即使我将文本字段留空,编译器也不会读取条件的“else”部分。这似乎表明该字段永远不会为零。可能发生什么情况?
据苹果公司称docs:
该字符串默认为@""。
IE。默认情况下它不为零。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)