我的控制器将具有可变数量的文本字段。按下按钮我想检查是否存在,并检查输入的字符数。
我尝试以下操作,如果homePhone存在,则可以正常工作
if homePhone?.text != ""{
if countElements(homePhone1.text) != 10{
validInput = false
validationError = "Home Phone must be 10 digits"
}
}
但是当文本字段不存在(移动)时,我会收到致命错误
if mobilePhone?.text != ""{
if countElements(mobilePhone.text) != 10{
validInput = false
validationError = "Mobile Phone must be 10 digits"
}
}
fatal error: unexpectedly found nil while unwrapping an Optional value
显然我没有正确地进行检查,选择和解包不断绊倒我。
答案 0 :(得分:0)
这将检查您的可选变量是否为零,以便您可以安全地打开它,实际上它会为您完成。
if let value = myOptionalVariable{
//my optionalVariable is not nill i can do whatever i want
value.text = "Yaay"
}
答案 1 :(得分:0)
您可以解开文本字段并检查它是否存在:
if let mobilePhoneField = mobilePhone{
if mobilePhoneField.text != ""{
if countElements(mobilePhoneField.text) != 10{
validInput = false
validationError = "Mobile Phone must be 10 digits"
}
}
}