我有这样的功能:
func click(sender:UIButton?) {
//some code
}
我想把这个函数称为:
- click() // ERROR: Missing argument for parameter #1 in call
- click(btn) // works
- click(nil) // works
我已经阅读了this个问题,但我仍然感到困惑,因为默认情况下nil
不是一个可选的,因为选项的整个概念是什么?为什么我不能click()
?
仅供参考我确实知道我可以将方法签名更改为func click(sender:UIButton? = nil)
,然后click()
可以正常工作,但这似乎有点多余,就像重新说一句已经已知是默认的
答案 0 :(得分:2)
你问的是两件不同的事情:
可选的类型,即nil by default
var button : UIButton?
通过传递默认nil
值
func click(sender:UIButton? = nil)