闭包

来源:互联网 发布:男士短款风衣知乎 编辑:程序博客网 时间:2024/05/21 06:49
```// 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 = selffetchData { (result) in    print(weakSelf!.view)}
原创粉丝点击