闭包

```
// 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)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值