1、什么是闭包?#
闭包在Swift中就是一些小的代码块,可以想函数一样使用。
2、闭包的一般形式#
{
(parameters)->returnType in
code1
}
parameters 是闭包传入的参数。returnType 是闭包返回的类型。code1 是闭包内部执行代码。
3、基本闭包#
/**
基本闭包的创建
*/
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