zoukankan      html  css  js  c++  java
  • swift 关于闭包

    记录学习到,关于闭包的点滴。

    1:如果闭包是函数的最后一个参数,则可以将闭包写在()后面,也可以写在()里面

    2:如果函数只有一个参数,并且该参数是闭包,那么()可以不写

    闭包的用法:

    1:可以为Int类型做一个拓展例如:

    extension Int {

       

       func times(f: (Int) -> (Void)){

          print("Void")

          for i in 1...self{

             f(i)

          }

       }

    }

    //      let t = 10

    //      t.times { (i:Int) in

    //         print(i)

    //      }

    可以循环得到1至10的值。

    2:可以封装一个闭包作为参数的函数,进行回调。

    封装网络请求

    class Client {

       static let shareInstance = HYClient()

       private init() {}

       func appPostRequest(_ path: String, parameters: Any?,done:(([String:AnyObject]?) -> Void)? = nil){

        let out = "你好"

          if let goods = done{

            goods(["out":out as AnyObject])

          }

       }

       func show(_ content:String,done:(_ cont:String) ->()){

          done("闭包参数")

       }

    }

    //

    Client.shareInstance.appPostRequest("", parameters: nil, done:

             {obj in

                if let out = obj?["out"]{

                  //这样就把值“你好”拿到了

                }

        })

          Client.shareInstance.show("参数", done:{(cont) ->() in

             //cont 值为“闭包参数”

          }

          )

    关于闭包还有需要学习的地方

    待续。。。。

  • 相关阅读:
    整数子数组求最大和
    四则运算实现
    四则运算
    2015年大二下学期读书计划
    java变量和数据类型
    jdk的安装和java的入门概念
    数据库的设计
    多表查询
    数据约束和外键
    表数据的简单查询语句
  • 原文地址:https://www.cnblogs.com/linximu/p/6293519.html
Copyright © 2011-2022 走看看