如果满足条件,如何在swift中返回(跳过其余的)函数

时间:2018-05-02 20:09:00

标签: swift xcode uitextfield segue ibaction

按下按钮时,我设置了一个segue。如果当前视图控制器中的文本字段为nil,我想结束该函数并使segue无效。到目前为止没有运气。我该怎么做呢?这就是我所拥有的:

@IBAction func myButton(_ sender: Any) {
    if textField.text == nil {

        return

    } else {

    performSegue(withIdentifier: "theSegue", sender: sender)

    }
}

提前致谢。

2 个答案:

答案 0 :(得分:5)

虽然文档暗示它(声明为可选),但text属性实际上不是nil此字符串是@""默认情况下)。

我建议另外检查空字符串。

@IBAction func myButton(_ sender: Any) {
   guard let text = textField.text, !text.isEmpty else { return }
   performSegue(withIdentifier: "theSegue", sender: sender)
}

答案 1 :(得分:2)

使用guardif let

guard let text = textField.text else {
            return
        }

您的代码会喜欢:

@IBAction func myButton(_ sender: Any) {

    guard let text = textField.text else {
            return
        }    
    performSegue(withIdentifier: "theSegue", sender: sender)

}