美文网首页
swift闭包

swift闭包

作者: 撸代码 | 来源:发表于2018-06-14 17:19 被阅读0次

直接上代码

import UIKit

classViewController:UIViewController{

    // 1. 没有参数,没有返回值的闭包()->() 如果没有参数,没有返回值,in可以省略

    letb1 = {

        print("没有参数,没有返回值的闭包")

    }

    overridefuncviewDidLoad() {

        super.viewDidLoad()

        // 执行闭包

        b1()

        // 2. 带参数的闭包  参数,返回值,实现代码都是写在{}中

        // {形参列表 - >返回值类型  // 实现代码}

        // 使用 in 分割定义和实现 b2的类型: (String) -> ()

        letb2 = { (str:String) ->()in

            print(str)

        }

        // 执行闭包

        b2("带参数的闭包")

        // 3.带参数/返回值的闭包

        // (String) -> String

        let  b3 = {(Str:String) ->Stringin

            returnStr +"回值的闭包"

        }

        // 闭包调用

        print(b3("带参数/返"))

        // 4.异步执行任务,获取数据,通过block/闭包回调,闭包的应用场景和闭包一样

        loadData{ (result)in

            print(result)

        }

    }

    //4操作步骤

    funcloadData(completion:@escaping(_result: [String]) ->()) -> () {

        // 将任务添加到队列,执行任务的操作,队列的调度是以同步/异步执行任务

        DispatchQueue.global().async{

            print("耗时操作\(Thread.current)")

            // 休眠

            Thread.sleep(forTimeInterval:1.0)

            // 获得数据

            letjson = ["后台","数据","异步回调"]

            //主线程更新

            DispatchQueue.main.async(execute: {

                print("主线程更新UI\(Thread.current)")

                // 回调,执行,通过参数回调

                completion(json)

            })

        }

    }

}

相关文章

  • 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/hjnyeftx.html