Ios swift中用于错误处理的Guard语句
我试着运行下面的语句,但代码中跳过了它Ios swift中用于错误处理的Guard语句,ios,swift,Ios,Swift,我试着运行下面的语句,但代码中跳过了它 guard let num1 = num1Input.text else { show("No input in first box") return } 有人能告诉我为什么文本字段为空时此语句没有运行吗?您应该检查文本的长度,而不是检查其nil,即: guard num1Input.text.characters.count > 0 else { ... } 如果文本是可选的,您可以这样做 guard let num1 =
guard let num1 = num1Input.text else
{
show("No input in first box")
return
}
有人能告诉我为什么文本字段为空时此语句没有运行吗?您应该检查文本的长度,而不是检查其
nil
,即:
guard num1Input.text.characters.count > 0 else {
...
}
如果文本是可选的,您可以这样做
guard let num1 = num1Input.text where num1.characters.count > 0 else {
...
}
此语句正在测试
文本是否为nil
,但您可能需要测试字符串是否为空,因此
guard let input = num1Input.text where input.characters.count > 0 else {
print("empty")
return
}
或者干脆
guard num1Input.text?.characters.count > 0 else {
print("empty")
return
}
您可以使用where
子句检查非nil和非空
guard let num1 = num1Input.text where !num1.isEmpty else {
show("No input in first box")
return
}
请使用.isEmpty
请使用.isEmpty
请。