構文は次のとおりです。sort
だが、スウィフト3で、それは今sorted
呼ばれスウィフト2.3で
let unsortedArray = [98, 23, 643, 678, 2, 568, 1, 234, 556, 4]
let sortedArray = unsortedArray.sort() { (first: Int, second: Int) -> Bool in
if first < second {
return true
} else {
return false
}
}
print("\(sortedArray)")
注意、。ところで
、これを簡略化することができます。
let sortedArray = unsortedArray.sort { (first: Int, second: Int) -> Bool in
return first < second
}
あるいは、さらに匿名の閉鎖の引数を使用するように単純化:
let sortedArray = unsortedArray.sort {
return $0 < $1
}
クロージャ内の単一の式があるので、さらに簡単に:
let sortedArray = unsortedArray.sort { $0 < $1 }
さらにように簡略化
または、:
let sortedArray = unsortedArray.sort(<)
あるいは、配列の要素は、Int
タイプは、Comparable
に準拠しているので、あなたは完全に閉鎖を省略し、全くパラメータを取らない異なるsort
メソッドを使用することができます。
let sortedArray = unsortedArray.sort()
注、これは、配列の要素が持っている必要があります。
less- (func <
)が であり、適合は、self
の要素に対して strict weak ordering です。
出典
2016-12-31 21:27:39
Rob
閉鎖を学び閉鎖したい –