美文网首页
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 闭包

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