9-Swift之闭包

作者: NetWork小贱 | 来源:发表于2017-05-04 17:58 被阅读11次

    1、什么是闭包?#

    闭包在Swift中就是一些小的代码块,可以想函数一样使用。

    2、闭包的一般形式#

    {
        (parameters)->returnType in 
          code1
    }
    

    parameters 是闭包传入的参数。returnType 是闭包返回的类型。code1 是闭包内部执行代码。

    3、基本闭包#

            /**
             基本闭包的创建
             */
            let numberArray = [11,3,44,2,78,9,4]
            let numbersSorted = {(s1:Int,s2:Int)->Bool in
                /**
                 从大到小  s1 > s2
                 从小到大  s1 < s2
                 */
                return s1 > s2
            }
            let num = numberArray.sorted(by: numbersSorted)
            print(num)
    

    4、不带类型的闭包

            /**
             不带类型的闭包
             */
            let numSArray = [11,2,45,21,4,3,23]
            let num1 = numSArray.sorted(by: { $1 > $0})
            print(num1)
    

    5、闭包可以存在变量中

            /**
             闭包存在变量
             注释:闭包可以没有返回值
             */
            let paramClosure = {(a:Int,b:Int) in a>b}
            let reluse = paramClosure(22,4)
            print(reluse)
    

    6、闭包的声明方式

            /**
             闭包的声明有两种形式
             */
            /* 声明一*/
            var Closure:((Int,Int)->Int)?
            /* 声明二*/
            typealias ClosureAlias = (Int,Int)->Int
    
    

    相关文章

      网友评论

        本文标题:9-Swift之闭包

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