闭包功能使得编码更加简洁,使用起来也非常方便,是swift中一个很重要的角色。闭包相当于是OC语言中的block,但是用起来比block方便很多。
1、所谓闭包,它的本质其实就是一段代码块。所以,swift中的闭包就是一个大花括号“{}”中的内容,当然,我这么说,并不是说所有{}中的都算是闭包,这只是闭包的一种表现形式。如下,定义一个函数类型的变量
函数类型变量,这边就不多说,而“=”右边的就是一个闭包,即代码块。而且,因为swift是会自动识别函数或变量的类型,所以上面这段代码可以优化成两种情况。
第一种根据闭包判断函数类型:
第二种,根据变量定义的类型,省却闭包类型的定义,即闭包不用再次定义函数类型,但是要说明是什么是执行什么逻辑,且为了不用定义参数,swift给了$0、$1来代替参数名称,而且连return都省略了,结果如下:
2、闭包在方法中的使用。 闭包语句经常和方法声明配合使用,但是闭包语句通常放在最后一个参数的位置,放最后位置,代码看起来比较清晰。
而且,调用起来,会让你觉得和OC中的block特别像。如图:
或者直接传进去闭包函数。如图:
而且,上面我们说道了swift的自动识别类型,但是swift不仅仅能自动识别函数类型,甚至还能够判断你要做的操作。所以,我们还可以简化成这样:











网友评论