为什么我这样调用Array.max?

时间:2017-02-21 15:21:28

标签: swift swift3

我正在使用Xcode 8.2.1。如果我查看Array的文档,我会找到name := "tmp" version := "1.0" scalaVersion := "2.12.1" resolvers += "Dukascopy" at "https://www.dukascopy.com/client/jforexlib/publicrepo/" libraryDependencies ++= Seq( "com.dukascopy.dds2" % "DDS2-jClient-JForex" % "3.0.18", "com.dukascopy.api" % "JForex-API" % "2.13.30" ) 方法的声明:

max

参数标签为public func max(by areInIncreasingOrder: (Element, Element) throws -> Bool) rethrows -> Element?,参数名称为by。由于标签是明确指定的,我认为它必须包含在对函数的调用中,但如果我省略标签(即areInIncreasingOrder),则以下代码可以工作。

在调用方法时,我是否误解了参数标签的使用方式?或者,我的示例代码是否调用了by方法的不同版本?

示例代码:

max

1 个答案:

答案 0 :(得分:1)

当方法的最后一个参数是闭包时,你可以在方法调用之后用花括号写它,并省略参数的名称。

请参阅Trailing Closure documentation