1.标准闭包
1.1实例
1.1.1声明
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
网友评论