美文网首页
Swift 闭包

Swift 闭包

作者: 莫失莫忘__不离不弃 | 来源:发表于2018-08-01 17:24 被阅读16次

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

相关文章

  • Swift-闭包

    Swift 闭包 函数 ()->() Swift 中的闭包和 Objective-C 中的 block 类似,闭包...

  • Swift闭包和函数

    函数在Swift中只是一种特殊的闭包,闭包在Swift语言中是一等公民,支持闭包嵌套和闭包传递。Swift中的闭包...

  • swift4 闭包

    swift 闭包 闭包:swift 中 函数是闭包的一种类似于oc的闭包闭包表达式(匿名函数) -- 能够捕获上下...

  • Swift中的闭包

    在Swift中有两种闭包,逃逸闭包(@escaping)和非逃逸闭包(@nonescaping)。从Swift 3...

  • 100 Days of Swift - Day 06 - 闭包(

    100 Days of Swift - Day 06 - 闭包Closures 6.1 闭包 Swift函数也属于...

  • swift学习

    * 闭包 * 闭包作为属性 ```swift // 声明闭包类型 typealias callba...

  • iOS swift 逃逸闭包(@escaping)和非逃逸闭

    iOS swift 逃逸闭包(@escaping)和非逃逸闭包 (@noescaping) 逃逸闭包: 逃逸闭包...

  • iOS&Swift&OC 闭包和Block的相互转化

    一、Swift的闭包 -> OC的block 二、OC的block -> Swift的闭包

  • swift闭包学习

    闭包作为参数 参考 Swift学习之闭包

  • Swift学习笔记(1)

    SWift学习笔记 闭包 闭包表达式 闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift 中的闭包与 ...

网友评论

      本文标题:Swift 闭包

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