类型推断如何与可选项一起工作?
How does type inference work with optionals?
我有一个这样的功能:
func click(sender:UIButton?) {
//some code
}
我想像这样调用该函数:
- click() // ERROR: Missing argument for parameter #1 in call
- click(btn) // works
- click(nil) // works
我已经阅读了 问题,但我仍然很困惑默认情况下不是可选的 nil
这不是可选的整个想法吗?为什么我不能只做 click()
?
仅供参考,我知道我可以将方法签名更改为 func click(sender:UIButton? = nil)
,然后 click()
会起作用,但不知何故这似乎是多余的,就像重述 已经 已知为默认
你问的是两件不同的事情:
一个可选的类型,即nil by default
var button : UIButton?
可选的 函数参数 通过传递默认 nil
值
func click(sender:UIButton? = nil)
我有一个这样的功能:
func click(sender:UIButton?) {
//some code
}
我想像这样调用该函数:
- click() // ERROR: Missing argument for parameter #1 in call
- click(btn) // works
- click(nil) // works
我已经阅读了 nil
这不是可选的整个想法吗?为什么我不能只做 click()
?
仅供参考,我知道我可以将方法签名更改为 func click(sender:UIButton? = nil)
,然后 click()
会起作用,但不知何故这似乎是多余的,就像重述 已经 已知为默认
你问的是两件不同的事情:
一个可选的类型,即
nil by default
var button : UIButton?
可选的 函数参数 通过传递默认
nil
值func click(sender:UIButton? = nil)