美文网首页ios专题iOS-swift
十三、Swift3.0之闭包的定义和GCD实际使用

十三、Swift3.0之闭包的定义和GCD实际使用

作者: ZhengYaWei | 来源:发表于2017-02-24 00:42 被阅读117次

    闭包定义的三种形式(无参数无返回值、有参数无返回值、有参数有返回值)

            //1、最简单的闭包
            //() -> () 没有参数,没有返回值
            //如果没有参数,没有返回值,可以省略,包括in也可以省略
            let b1 = {
                print("hello")
            }
            //执行闭包
            b1()
            
            //2、带参数的闭包
            //注意:闭包中,参数 返回值 实现代码都写在{ }中
            //需要使用关键字 in 来分割定义和实现
            //格式: {形参列表 -> 返回值类型  in 实现代码}
            //这个形式(x: Int) -> () 函数非常类似
            let b2 = {(x: Int) -> () in
               print(x)
            }
            //闭包调用
            b2(100)
           
            //3、带参数带返回值的闭包
            let b3 = {(x: Int) -> Int in
                return x + 250
            }
            //闭包调用
            print(b3(10))
    

    Swift3.0中GCD的写法:

           DispatchQueue.global().async {
                print("耗时操作\(Thread.current)")
                
                //主队列
                DispatchQueue.main.async {
                    print("主线程更新UI\(Thread.current)")
                }
            }
    

    相关文章

      网友评论

        本文标题:十三、Swift3.0之闭包的定义和GCD实际使用

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