定义一个函数类型或者是一个闭包类型
typealias FunType = (Int, Int) -> Int
可以传一个函数或者传一个闭包
func funWithParametes(fun:FunType) -> Void {
let sum = fun(5,6);
print("sum--->>>(sum)")
}
写个和定义的函数类型一样的函数
func add (a:Int ,b:Int) -> Int {
return a+b
}
在viewDidLoad进行调用funWithParametes
override func viewDidLoad() {
//函数类型当做参数
funWithParametes(fun: add);
//闭包(匿名函数)
funWithParametes { (a, b) -> Int in
return a+b;
}
结论:当一个函数的参数是一个函数,你可以传入一个函数或者一个闭包。