Swift ---- sort排序

2019-01-02  本文已影响13人  司徒新新
  1. 使用sort方法和闭包对数组进行排序
var array: Array<Int> = [1, 4, 1, 2, 2, 4, 12, 6, 8]
// 从大到小对数组排序
func xx(num1: Int, num2: Int) -> Bool {
    return num1 > num2
}
array.sort(by: xx)
array.sort(by: {(num1: Int, num2: Int) -> Bool in return num1 > num2 })

  1. 可以不用指定参数类型,编译器会帮我们判断
var array: Array<Int> =[1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(by: {(num1, num2) in
    return num1 > num2
})
array
  1. 可以省略参数名,直接根据数字来引用参数
var array: Array<Int> = [1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(by: {
    return $0 > $1
})
  1. 如果闭包只有一行代码,可以省略return
var array: Array<Int> =[1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(by: {
    $0 > $1
})
  1. 如果闭包是函数调用的最后一个参数,可以将闭包放到括号外面,提高代码的可读性
var array: Array<Int> =[1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(){
    $0 > $1
}
  1. 换行也是可选的,代码可以继续简洁
var array: Array<Int> = [1, 4, 1, 2, 2, 4, 12, 6, 8]
array.sort(){$0 > $1}
上一篇下一篇

猜你喜欢

热点阅读