用于错误处理的swift语句

时间:2016-04-18 11:55:11

标签: ios swift

我尝试在下面的语句中运行,但它在代码中被跳过了。

guard let num1 = num1Input.text else
{
    show("No input in first box")
    return
}

当文本字段为空时,有人可以告诉我为什么这句话没有运行?

3 个答案:

答案 0 :(得分:3)

您可以使用where子句检查非零非空

guard let num1 = num1Input.text where !num1.isEmpty else {
    show("No input in first box")
    return
}

答案 1 :(得分:0)

你应该检查文本的长度,而不是它的nil,即:

guard num1Input.text.characters.count > 0 else {
  ...
}

如果文字是可选的,你可以这样做。

guard let num1 = num1Input.text where num1.characters.count > 0 else {
  ...
}

答案 2 :(得分:0)

此语句正在测试text是否为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
}