我正在学习一个Swift的初学者教程,它是用Swift 2编写的。
它包含的代码类似(随机示例)
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
这在Swift 3中有所改变(我使用的是XCode 8 Beta),IDE将其转换为新的(漂亮的!)符号:
override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
这里让我困惑的是“for segue:“中的“for”。我知道它为什么在那里,但它在语法上是什么类型的元素?参数名是for
、for segue
还是segue
?
它仅仅是一个装饰--一个没有任何意义的元素,只是帮助开发人员理解上下文吗?它还有其他作用吗?这个概念有名字吗?我可以在我自己的方法中使用它吗?
我看到同样的事情发生在“in”和“at”上。
2条答案
按热度按时间lmvvr0a81#
语法允许你标记两次参数-一次用于函数内部(* 参数名称 ),一次用于调用时( 参数标签 *)。默认情况下,这两个参数是相同的(就像你的例子中的
sender
),但是当它使函数在调用位置更具可读性时,它们会有所不同:更容易理解为一个句子:
这听起来像是你在准备接下去,而不是为接下去做准备。
for
对于在函数内部引用segue来说是一个可怕的名字,所以如果需要,你可以使用不同的名字。这个想法是为了满足调用站点的可读性和实现中合理的命名这两个有时相互冲突的目标。
定义函数时,如果要使用单独的参数标签和参数名称,请首先指定参数标签,然后指定参数名称:
to
仅在调用函数时具有相关性。name
在函数内部使用。1dkrff032#
这些
for
和at
不是swift的参数函数中的保留关键字,它们是参数标签,您可以自由定义,这对您的函数的用户更有意义语法
功能定义
函数调用