Swift 闭包

1.标准闭包
1.1实例
1.1.1声明

屏幕快照 2018-08-01 下午3.56.12.png

1.1.2.调用闭包
屏幕快照 2018-08-01 下午3.57.06.png

1.2 闭包说明
Swift 中闭包的表达方式很灵活,标准语法格式如下
{(形参列表) -> 返回值类型 in
核心代码的实现
};
{ (val:Int) -> Int in
return val * val;
}
1.3 闭包的简化
1.3.1 类型推断的简化
类型推断的简化是根据上下文环境推断出参数类型和返回值类型。
形如上面的闭包形式,可以简化为:
{val in return val * val }
1.3.2 省略 return 关键字,此处注意的是:省略的前提是闭包中只有一条 return 语句,如果包含多条 return 语句是不允许省略的
{val in val * val}
1.3.3 使用位置参数简化闭包。 我们可以使用0,1,2来标识调用的闭包中的参数,0 代表第一个参数,以此类推,形如:
result = {0 *0}
1.3.4 直接使用闭包的返回值.形如
let result = {val in
return val * val;
};
print("result = (result)");

2.尾随闭包 ,适用于闭包的表达式比较长,需要是最后一个参数
2.1 尾随闭包的声明


屏幕快照 2018-08-01 下午4.59.50.png

2.1 尾随闭包的调用


屏幕快照 2018-08-01 下午5.00.27.png

3.逃逸闭包。函数的闭包在函数的异步执行结束后才会被调用,那么这个函数就叫做逃逸闭包。方法是:这个闭包需要存储在函数的外部。
如下所示:


屏幕快照 2018-08-01 下午5.23.59.png

实现:


屏幕快照 2018-08-01 下午5.24.05.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift 中的闭包与 C 和 Objective-C 中的代...
    穷人家的孩纸阅读 5,692评论 1 5
  • 闭包可以从定义它们的上下文中捕获和存储对任何常量和变量的引用。 这被称为关闭这些常量和变量。 Swift处理所有的...
    Joker_King阅读 3,690评论 0 2
  • Swift 中的闭包是自包含的函数代码块,可以在代码中被传递和使用。类似于OC中的Block以及其他函数的匿名函数...
    乔克_叔叔阅读 3,483评论 1 3
  • * 闭包 是自包含的函数代码块,可以在代码中被传递和使用。swift中的闭包和Objective-C中的代码块(b...
    EndEvent阅读 4,296评论 4 8
  • 闭包是自包含的代码块,可以在代码中被传递和使用。Swift中的闭包与C和Objective-C中代码块(block...
    Raaaaamsey阅读 4,290评论 0 2

友情链接更多精彩内容