美文网首页Swift互动教程
6.5 Swift中的闭包(Closure)详解 [Swift教

6.5 Swift中的闭包(Closure)详解 [Swift教

作者: 互动教程网 | 来源:发表于2018-04-11 16:47 被阅读15次

1. 本节课将为你演示闭包的使用,闭包功能使编码更加简洁,符合开发语言的现代、简便明了的特点。

image

2. 首先定义一个函数类型的变量,它拥有两个整型参数,并返回一个整型的结果。等号下方的大括号,是用来实用一个函数功能的代码块。

image

3. 然后在大括号内,输入两行代码。前一行代码,用来声明函数代码块的参数和返回值信息,然后将对参数的操作,放置在in的下方。

image

4. 通过该函数类型的变量,即可调用函数的功能:用来获得两个参数的和。

image

5. 这里创建了一个函数,它同样可以实现和上方代码相同的功能。

image

6. 调用的方式也是一样的。

image

7. 在使用闭包来声明一个函数类型的变量时,可以省略对变量类型的定义,系统会自动推断出它的类型。

image

8. 接着使用相同的代码,实现函数的功能即可。

image

9. 其实我们还有更加简单的方式,在等号的右侧,通过一个省略了参数声明的闭包语句,给变量赋予了返回两个参数之和的函数功能。

image

10. 使用该函数变量,计算两个参数的和。

image

11. 这种函数变量的声明方式,仍然可以进行简化,使用$0和$1表示第一个参数和第二个参数,并且省略了return操作符。

image

12. 使用该函数变量,计算两个参数的和。

image

13. 闭包语句随处可见,例如通过系统提供的排序方法sorted,对一个数组进行排序,在此通过小于号,采用升序排列的方式。点击显示结果图标,显示结果列表。

image

14. 排序方法共进行了4次操作,点击显示结果图标,隐藏结果列表。

image

15. 继续代码的编写。

image

16. 输出排序后的数组,从右侧可以看出使用闭包排序后的效果。

image

17. 闭包语句经常和方法声明配合使用,但是闭包语句通常放在最后一个参数的位置。在此添加一个方法,该方法拥有一个函数类型的参数,最后返回由该函数参数执行后的结果。

image

18. 然后使用闭包语句,使用第三个参数的函数功能。

image

19. 这样就可以将其它的函数,作为该函数的参数进行调用。

image

20. 同样可以采用更加简便的方式,完成相同的功能。在此只使用一个加号,代替求和闭包。观察右侧输出的结果,和上面的结果是一致的。

image

21. 你甚至可以将加号,修改为乘号。

image

22. 无论加号、乘号,还是其它运算符号,其实都是对本行语句中的闭包语句的一种省略的写法。点击显示结果图标,查看本行代码执行的结果,并结束对闭包功能的讨论。

image

image

image

本文整理自:《Swift4互动教程》,真正的[手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1320746678,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

相关文章

  • 6.5 Swift中的闭包(Closure)详解 [Swift教

    1. 本节课将为你演示闭包的使用,闭包功能使编码更加简洁,符合开发语言的现代、简便明了的特点。 2. 首先定义一个...

  • Swift中的闭包详解

    转载自:Swift中的闭包(Closure) 概念 闭包在Swift中非常有用。通俗的解释就是一个Int类型里存储...

  • Swift 5.3 - SE-0279 Multiple Tra

    在最初 Swift 的定义中,当方法的最后一个参数为闭包时,称该闭包为尾随闭包(trailing closure)...

  • swift中GCD的使用详情

    想看swift3.0使用GCD,请点击GCD详解 想看swift3.0闭包的使用和介绍,请点击Swift版闭包使用...

  • [Swift5.1] 7-闭包

    闭包表达式(Closure Expression) 在Swift中,可以通过func定义一个函数,也可以通过闭包表...

  • Swift底层原理探索5----闭包

    闭包表达式(Closure Expression) 在Swift中,可以通过func定义一个函数,也可以通过闭包表...

  • 闭包

    闭包表达式(Closure Expression) 在Swift中,可以通过func定义一个函数,也可以通过闭包表...

  • Swift5.0 - day4-闭包、属性、方法、下标

    一、闭包 1.1、闭包表达式(Closure Expression)在 Swift 里面可以通过函数 func 定...

  • Swift 闭包

    @Author Swift 闭包(Closure) 闭包是一种可以在代码中作为参数传递,自含的功能块。 闭包类似于...

  • swift中闭包(closure)

    下面是一个基本的闭包: var multiplyClosure = { (a: Int, b: Int) -> I...

网友评论

本文标题:6.5 Swift中的闭包(Closure)详解 [Swift教

本文链接:https://www.haomeiwen.com/subject/zidzhftx.html