回调函数(闭包)就是把函数写成参数。
回调函数/闭包的写法 :
import UIKit
//Closures--闭包/回调函数--是一个匿名函数
let doSome = {
print("做软件")
}
//使用回调函数--调用函数
doSome()
带有参数的回调函数写法---参数写在大括号里,in字面意思将参数传入,而且还表示分隔开参数和函数体:
let doSome = {(sth: String) in
print("学习\(sth)")
}
doSome("做软件")
带返回值的闭包写法:
let learn1 = {(sth: String) -> String in
return "学习\(sth)"
}
注:swift5开始,只返回一行代码的情况下,return可以省略。
闭包作为另一个函数的使用方法(注:没有返回值、没有参数的闭包):
//写一个闭包
let doSome = {
print("做软件")
}
//没有返回值、没有参数的闭包---括号空表示参数空,Void表示返回值为空
func makeMoney(how: ()->Void){
print("准备赚钱")
how()
print("赚钱了")
}
//将闭包扔到参数里
makeMoney(how: doSome)