该语法允许您两次标记参数-一次在函数中使用( 参数名称 ),一次在调用时使用( 参数label )。默认情况下,这两个将是相同的(例如sender
您的示例中的),但是在使函数在调用站点上更具可读性时,它们是不同的:
prepare(for: aSegue, sender: something)
句子的可读性比:
prepare(segue: aSegue, sender: something)
这听起来像你准备的SEGUE,不准备 进行 的SEGUE。
for
在函数中内部使用该名称来引用segue时将是一个可怕的名称,因此如果需要,可以使用其他名称。
这样做的目的是为了满足有时相互矛盾的目标,即呼叫站点的可读性和实现中的合理命名。
定义函数时,如果要使用单独的参数标签和参数名称,请首先指定参数标签,然后再指定参数名称:
func sayHello(to name: String) {
print("Hello " + name)
}
sayHello(to: "Pekka")