此Swift函数的预期返回值是多少?

此Swift函数的预期返回值是多少?,swift,Swift,我是Swift编程新手,因此对返回值有疑问 假设我有以下代码块: @IBAction func verifyItemPressed() { if pinTextField.text?.isEmpty ?? true { UIAlertController.showAlertWith(title: "Test", message: "Empty entry!!") return } 在这种情况下,我在这里可以期望什么样的返回值。因为,我知道它应该返

我是Swift编程新手,因此对返回值有疑问

假设我有以下代码块:

@IBAction func verifyItemPressed() {
    if pinTextField.text?.isEmpty ?? true {
        UIAlertController.showAlertWith(title: "Test", message: "Empty entry!!")
        return
    }

在这种情况下,我在这里可以期望什么样的返回值。因为,我知道它应该返回0或1以及true或false(如果我定义了bool)。

没有期望的返回值。该函数没有返回值。空的
return
仅表示“现在离开函数,不要做任何其他事情”

在Swift中,有三种方式表示函数没有返回值:

func foo1() -> Void {
    return
}

func foo2() -> () {
    return
}

func foo3() {
    return
}
最后一个是最常见的,因为它是最短的


没有返回值的函数根本不需要调用
return
。如果是这样,通常会由于某些条件或问题代码中的错误而提前离开函数。

如果pinTextField.text?.isEmpty??true
是错误的。应该是
??false
或更好的语法应该是
==true
。请注意,set-field set-property默认值是一个空字符串,因此它永远不会返回nil,因此您可以安全地强制展开set-property
if-pinTextField.text!。isEmpty
或使用
uikeyinport
hasted属性,该属性可用于
UITextField
UITextView
<代码>如果!pinTextField.hasText{…@LeoDabus尽快展开选项通常是最容易阅读的
(pinTextField.text??).isEmpty
。我不明白为什么
pinTextField.text?.isEmpty??true
应该是不正确的。@LeoDabus
是正确的。这将把零文本视为空文本。当然
UITextField text
永远不会是
nil
,所以最后它并不重要。@rmaddy在这种情况下,它不重要,但在gen中当对象为nil时,通常将条件视为false。
==true
==false
处理
bool?
类型时,IMO是一种选择。
(pinTextField.text??)
是毫无意义的