Swift 闭包
闭包(Closures)是包含功能的代码块, 可以在代码中使用或者用来作为参数传值
闭包的定义:
1. 闭包和oc里面的block很类似,闭包也是一个预先定义好的代码块 "{}"
2. 可以函数的参数传递,也可以作为函数的返回值
3. 在需要的时候去执行闭包或者block
4. 在闭包或者block里面使用self需要注意循环引用
闭包的实践:
1.无返回值的闭包
![](https://img.haomeiwen.com/i7870650/09764d679e9f4551.png)
2.有参数有返回值的闭包
![](https://img.haomeiwen.com/i7870650/07266a5e0b380e35.png)
尾随闭包
1. 如果闭包作为函数的最后一个参数传递,那么小括号提前关闭,闭包写在小括号外面,叫做尾随闭包
2. 看到尾随闭包要知道,这个闭包是作为函数的最后一个参数传递的就可以了
尾随闭包代码演示:
![](https://img.haomeiwen.com/i7870650/806ef8a0a71b3f82.png)
调用:
![](https://img.haomeiwen.com/i7870650/d4e99eab129137bc.png)
注意: 只有一个参数并且还是闭包类型 在这特殊情况下 (response:String) 可以去掉 , 直接命名
例如:
![](https://img.haomeiwen.com/i7870650/92c58555fe37bdb2.png)
网友评论