类型推断如何与选项一起使用?

时间:2016-09-20 15:34:25

标签: swift optional

我有这样的功能:

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()可以正常工作,但这似乎有点多余,就像重新说一句已经已知是默认的

1 个答案:

答案 0 :(得分:2)

你问的是两件不同的事情:

  • 可选的类型,即nil by default

    var button : UIButton?
    
  • 通过传递默认nil

    来选择函数参数
    func click(sender:UIButton? = nil)