Swift:带有“ for”的功能参数

时间:2019-12-30 07:42:11

标签: ios swift

我已经看到了这个功能覆盖:

override func prepare(for seque: UIStoryboardSegue, sender: Any?) {
        ...
}

实际功能对我来说很清楚。当前让我感到困惑的是在论据标签前面的“ for”。在该函数内,仅使用参数标签(“ seque”)。

“用于”的目的是什么?

对我来说毫无意义。

2 个答案:

答案 0 :(得分:2)

在声明函数时。您可以将标签设置为参数。

参数标签将不会在func中使用。

创建类似..

的函数时
func setBorderTo(view: UIView) { ...  }

您调用上述函数。像这样...

 setBorderTo(view: <Your View>) //here "view" used inside the func.

,以及您声明函子时。像这样...

func setBorderTo(_ view: UIView) { ... } //here inside you can access view

然后您应该调用func。像这样...

setBorderTo(<Your View>)

因此调用func。像setBorderTo(view)setBorderTo(view: <Your View>) b'coz有意义,这里您不需要在此处写view标签。

编辑:

使用参数标签可以使函数以表达方式,类似于句子的方式被调用,同时仍提供一个可读且意图明确的函数体。

但最终它取决于您。您可以使用参数标签,也可以在函数的开头使用下划线“ _”来提交它。参数。

答案 1 :(得分:2)

for是参数标签。

  

每个函数参数都有一个参数标签和一个参数名称。参数标签在调用函数时使用;每个参数都写在函数调用中,并带有参数标签。

自变量标签可以帮助您提高可读性,允许您使用在调用函数时有意义的标签以及函数主体中的其他参数名称。

考虑问题中的功能。呼叫者写道

someVC.prepare(for: someSegue, sender:sender)

这听起来像是一个句子“准备好进行一次谈话”。

在函数的实现中,可以使用意义更大的segue而不是意义较小的for