```
// 1.最简单的闭包定义:无参数无返回值,可以省略in关键字
let a = {
print("a")
}
// 调用闭包
a()
// 2.无参数无返回值的闭包
// in 关键字后面的是实现
let b = { () -> () in
print("b")
}
// 调用闭包
b()
// 3.有参数有返回值的闭包
let sum = { (num1: Int, num2: Int) -> (Int) in
return num1 + num2
}
// 调用闭包
print(sum(10, 20))
// 4.闭包回调
func fetchData(completion: @escaping (_ result: String) -> ()) -> () {
// 模拟数据
let data = "哈哈"
completion(data)
}
// 尾随闭包
fetchData { (result) in
print(result)
}
// 解决循环引用
// 类似OC的方式
weak var weakSelf = self
fetchData { (result) in
print(weakSelf!.view)
}
闭包
最新推荐文章于 2024-07-31 10:51:11 发布