1鱼鼓、什么是閉包钉跷?#
閉包在Swift中就是一些小的代碼塊,可以想函數一樣使用疆前。
2寒跳、閉包的一般形式#
{
(parameters)->returnType in
code1
}
parameters 是閉包傳入的參數。returnType 是閉包返回的類型竹椒。code1 是閉包內部執(zhí)行代碼童太。
3、基本閉包#
/**
基本閉包的創(chuàng)建
*/
let numberArray = [11,3,44,2,78,9,4]
let numbersSorted = {(s1:Int,s2:Int)->Bool in
/**
從大到小 s1 > s2
從小到大 s1 < s2
*/
return s1 > s2
}
let num = numberArray.sorted(by: numbersSorted)
print(num)
4胸完、不帶類型的閉包
/**
不帶類型的閉包
*/
let numSArray = [11,2,45,21,4,3,23]
let num1 = numSArray.sorted(by: { $1 > $0})
print(num1)
5书释、閉包可以存在變量中
/**
閉包存在變量
注釋:閉包可以沒有返回值
*/
let paramClosure = {(a:Int,b:Int) in a>b}
let reluse = paramClosure(22,4)
print(reluse)
6、閉包的聲明方式
/**
閉包的聲明有兩種形式
*/
/* 聲明一*/
var Closure:((Int,Int)->Int)?
/* 聲明二*/
typealias ClosureAlias = (Int,Int)->Int