Search code examples
arraysswiftclosures

What does $0 and $1 mean in Swift Closures?


let sortedNumbers = numbers.sort { $0 > $1 }
print(sortedNumbers)

Can anyone explain what $0 and $1 means in Swift?

Another Sample

array.forEach {
    actions.append($0)
}

Solution

  • $0 is the first parameter passed into the closure. $1 is the second parameter, etc. That closure you showed is shorthand for:

    let sortedNumbers = numbers.sort { (firstObject, secondObject) in 
        return firstObject > secondObject
    }