闭包基础知识
Swift闭包和OC的block类似不过还是有点区别
OC的block是一个匿名函数
Swift 中函数是闭包的一个特例(这句话第一次听到的可能有些朦胧,多敲慢慢体会吧只可意会不可言传。。。。挠哥的理解就是一个特殊的函数。。。额。。)
1.最简单闭包
解释下
首先声明一个名字为demo1的方法,第一个参数名字为name的String类型,第二个参数为名字为finish的一个函数,第一个()为参数,空就是没有参数后面的->() 为返回值,这里写的是没有返回值。
注:在第30行的finish() 执行闭包,一般作为完成耗时操作后做回调用的
最后看下输出内容就可以知道程序是怎么走得了,这里就不再过多赘述。
另:小技巧 如果闭包是最后一个参数,在调用的时候可以简写上面代码简写为
很神奇吧~ () -> () in 没了~!呵呵 苹果就是这么规定的,如果闭包是最后一个参数可以省略不写~!
in 这个东西是区分 定义 和 代码实现之间的分隔标记
定义就是 ()->() 这个就是定义
第一张图的 print("hello word") 就是代码实现
所以如果闭包是最后一个参数 这个 ()->() in 就可以不用写了~!
网友评论