Swift3函数声明中新的“ for”,“ at”,“ in”关键字是什么?
我正在通过Swift 2编写有关Swift的初学者教程。
它包含类似(随机示例)的代码
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”也发生了同样的情况。
回答:
该语法允许您两次标记参数-一次在函数中使用( 参数名称 ),一次在调用时使用( 参数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")
to
仅在调用函数时才有意义。name
在函数内部使用。
以上是 Swift3函数声明中新的“ for”,“ at”,“ in”关键字是什么? 的全部内容, 来源链接: utcz.com/qa/423420.html