托XX福写个Swift闭包教程

闭包基础知识

Swift闭包和OC的block类似不过还是有点区别

OC的block是一个匿名函数

Swift 中函数是闭包的一个特例(这句话第一次听到的可能有些朦胧,多敲慢慢体会吧只可意会不可言传。。。。挠哥的理解就是一个特殊的函数。。。额。。)

1.最简单闭包


解释下

首先声明一个名字为demo1的方法,第一个参数名字为name的String类型,第二个参数为名字为finish的一个函数,第一个()为参数,空就是没有参数后面的->() 为返回值,这里写的是没有返回值。

注:在第30行的finish()  执行闭包,一般作为完成耗时操作后做回调用的

最后看下输出内容就可以知道程序是怎么走得了,这里就不再过多赘述。

另:小技巧 如果闭包是最后一个参数,在调用的时候可以简写上面代码简写为


很神奇吧~ () -> () in 没了~!呵呵 苹果就是这么规定的,如果闭包是最后一个参数可以省略不写~!

in 这个东西是区分  定义 和 代码实现之间的分隔标记

定义就是  ()->() 这个就是定义   

第一张图的 print("hello word") 就是代码实现

所以如果闭包是最后一个参数  这个 ()->() in 就可以不用写了~!

推荐阅读更多精彩内容