托XX福写个Swift闭包教程

闭包基础知识

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

OC的block是一个匿名函数

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

1.最简单闭包


解释下

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

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

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

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


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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,222评论 4 61
  • 在上一篇文章Swift中的变量和常量中我总结了一些自己对于变量和常量的认识,最近学习了闭包,顺便给大家分享一下关于...
    老板娘来盘一血阅读 18,820评论 16 87
  • Swift 介绍 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 ...
    大L君阅读 8,547评论 3 25
  • 一、引言 函数是有特定功能的代码段,函数会有一个特定的名称调用时来使用。Swift提供了十分灵活的方式来创...
    0哲思0阅读 3,641评论 0 0
  • 1.Android产品研发-->基类Activity 2.Android native和h5混合开发几种常见的hy...
    Lem0nNat1on阅读 2,910评论 0 4