博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift闭包2-尾闭包
阅读量:5964 次
发布时间:2019-06-19

本文共 719 字,大约阅读时间需要 2 分钟。

原文链接:

引言

  上一片文章讲解了swift中闭包的基本概念,以及基本的语法,这篇文章主要讲解一下swift中尾闭包。

什么是尾闭包

  假设有这样一个函数:这个函数的最后一个参数是一个闭包,并且,这个闭包表达式很长。如果按照正常的方式来调用这个函数的话,需要在参数里指明这个函数的参数名,然后后面跟着一个闭包表达式。比如下面这种函数:

func someFunctionThatTakesAClosure(closure: () -> Void) {    // function body goes here}

正常的使用方式如下

// 正常的调用方式:someFunctionThatTakesAClosure(closure: {    // closure's body goes here})

可以发现someFunctionThatTakesAClosure(closure:)最一个参数是一个闭包,那么我们可以用另外一种方式去调用这个函数。

// 用尾闭包的方式调用:someFunctionThatTakesAClosure() {    // trailing closure's body goes here}

Swift的Array的sort函数也可以采用尾闭包的方式来调用,比如文章对字符串数组排序的方法。

reversedNames = names.sorted() { $0 > $1 }

  如果一个函数只有一个参数,并且这个参数是一个闭包,那么在使用这个函数的时候可以省略括号,比如上面的sorted函数可以写成这样:

reversedNames = names.sorted { $0 > $1 }

转载地址:http://lwnax.baihongyu.com/

你可能感兴趣的文章
关于多线程中使用SendMessage
查看>>
【云栖大会】阿里云移动云Apsara Mobile重磅发布 推出Cloud Native App全新研发范式...
查看>>
【PMP】Head First PMP 学习笔记 第九章 人力资源管理
查看>>
2015年末必备前端工具集
查看>>
【Solidity】8. 杂项 - 深入理解Solidity
查看>>
关于在VS2005中编写DLL遇到 C4251 警告的解决办法
查看>>
Go语言大神亲述:历七劫方可成为程序员!
查看>>
CYQ.Data 轻量数据层之路 V4.5 版本发布[更好的使用体验,更优的缓存机制]
查看>>
NetApp针对其集群化方案“不值得升级”言论回击Wikibon
查看>>
QQ把游戏放进聊天框,这一点Facebook和微信都没做到
查看>>
在线匿名之父意欲终结“加密战争”
查看>>
WLAN市场销量逐步逼近有线网络
查看>>
力龙信息布局大数据领域
查看>>
大数据巧治职业差评师 生存空间锐减九成
查看>>
天津开展免费无线局域网建设
查看>>
提高信息安全意识对网络勒索病毒说不
查看>>
英国政府可能利用曼彻斯特自杀袭击要求互联网公司破解加密
查看>>
Mozilla 将大幅简化火狐浏览器的同步操作
查看>>
微软加大在 Edge/IE 浏览器上阻止 SHA-1 证书的力度
查看>>
龙芯将两款 CPU 核开源,这意味着什么?
查看>>