Swift Closure参数,按位置操纵

时间:2014-08-04 13:42:30

标签: ios swift

如何通过它们在Swift中的位置来操纵闭包参数。 我已经尝试过以下方式,但是,从documentation.

开始,我无法理解它背后的想法
var additionClosure = {  (a : Int , b : Int )-> Int in
      return ($0 + $1)
}
var a = 10
var b = 20
println("additionClosure \(additionClosure(a,b))")

任何帮助将不胜感激.....嗯,提前谢谢。

1 个答案:

答案 0 :(得分:1)

`编号的参数格式用于不想创建命名闭包时。

示例:

import Foundation

func add(a : Int, b : Int) -> Int {
    return a + b
}

func test(a : (Int, Int) -> Int) {
    println("result: \(a(10,20))")
}

test(add) // Calling test with a named closure

test({$0 + $1}) // Calling test with an anonymous closure

在第一种情况下,您使用两个参数定义add,并为其指定名称ab。在第二种情况下,您甚至不使用$0$1

定义闭包的名称,只定义所需的功能