Dun*_*and 5 arrays sorting mapping closures swift
我试图快速理解闭包,但缺少一些基本的东西。
给出以下示例:
var numbers = [20, 19, 7, 12]
numbers.map({(number: Int) -> Int in return 3 * number})
numbers.map {(number: Int) -> Int in return 3 * number}
numbers.sorted {(n1:Int, n2:Int) -> Bool in return n1 < n2}
Run Code Online (Sandbox Code Playgroud)
为什么额外的大括号适用于地图但没有排序?IE
numbers.sorted({(n1:Int, n2:Int) -> Bool in return n1 < n2})
Run Code Online (Sandbox Code Playgroud)
不会编译...
"error: argument passed to call that takes no arguments"
Run Code Online (Sandbox Code Playgroud)
请问有人能解释一下区别吗?谢谢。
因为排序方法是func Sort(by:)。所以你必须添加by
参数名称:
numbers.sorted(by: {(n1:Int, n2:Int) -> Bool in return n1 < n2})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5004 次 |
| 最近记录: |