swift4学习之闭包(初识)

        闭包功能使得编码更加简洁,使用起来也非常方便,是swift中一个很重要的角色。闭包相当于是OC语言中的block,但是用起来比block方便很多。

1、所谓闭包,它的本质其实就是一段代码块。所以,swift中的闭包就是一个大花括号“{}”中的内容,当然,我这么说,并不是说所有{}中的都算是闭包,这只是闭包的一种表现形式。如下,定义一个函数类型的变量

        函数类型变量,这边就不多说,而“=”右边的就是一个闭包,即代码块。而且,因为swift是会自动识别函数或变量的类型,所以上面这段代码可以优化成两种情况。

        第一种根据闭包判断函数类型:

        第二种,根据变量定义的类型,省却闭包类型的定义,即闭包不用再次定义函数类型,但是要说明是什么是执行什么逻辑,且为了不用定义参数,swift给了$0、$1来代替参数名称,而且连return都省略了,结果如下:

2、闭包在方法中的使用。 闭包语句经常和方法声明配合使用,但是闭包语句通常放在最后一个参数的位置,放最后位置,代码看起来比较清晰。

        而且,调用起来,会让你觉得和OC中的block特别像。如图:

    或者直接传进去闭包函数。如图:

    而且,上面我们说道了swift的自动识别类型,但是swift不仅仅能自动识别函数类型,甚至还能够判断你要做的操作。所以,我们还可以简化成这样:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,371评论 3 119
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 3,249评论 2 9
  • 曾经有一段真挚的爱情摆在我面前我没有珍惜,有些人,有些事错过了真的是一辈子,我给你的备注是十二,朋友十二画,恋人十...
    空军上尉阅读 331评论 1 0
  • 网上看《釜山行》好评铺天盖地,自己终于也带着期待的心情看完了这部电影,真真切切深深刻刻地体会到比丧尸更可怕的是人性...
    蜗牛蜗牛_阅读 384评论 3 4
  • 下午孩子画完画带他去游乐场玩儿。在他玩儿投币的游戏时和一个小朋友一起。当时那个小朋友正在玩儿,儿子偷了一个...
    懒洋洋_a7fc阅读 59评论 0 0

友情链接更多精彩内容