美文网首页
Swift闭包简单入门

Swift闭包简单入门

作者: 浮桥小麦 | 来源:发表于2016-11-05 21:40 被阅读14次
前言:就像OC中的block一样,Swift中的闭包也把我搞得晕头转向的(人太笨)趁着失业,好好总结总结来年再战
// MARK:- NO.1 简单举例
#首先对Swift中的函数大家熟悉吧
           函数名(形参)-> (返回值类型) {
                     执行代码
       }
  func <#name#>(<#parameters#>) -> <#return type#> {
        <#function body#>
    }
//写个最简单的闭包
let work = {
 print(“工作在哪里")
}
//这个闭包是一个没有参数,没有返回值的函数—调用
work()

// MARK:- NO.2 有参数的闭包
#在闭包中:参数,返回值,实现代码都是写在{}中的
#在定义和实现之间需要关键字”in”来分隔 — {参数 ->返回值类型 in 实现代码 }
let eg = { (x: Int) -> () in 
    print(x)
}
eg (78)
// MARK:- NO.3 有参数有返回值的闭包
let eg1 = { (x: Int , y: Int) -> Int in 
 return x + y 
}
  print(eg1(10, 39))

// MARK:- NO.4 闭包作为参数传递(异步执行回调数据)
 //调用
        loadData { (result) in
            print("获取到数据\(result)")
        }

func loadData(completion: @escaping (_ result: [String]) -> ()) -> ()  {
        
        // 将任务添加到队列,指定执行任务的函数
        // 队列调度任务(block/闭包),以同步/异步方式执行
        
       //全局队列异步执行
        DispatchQueue.global().async { 
            
          print("耗时操作 \(Thread.current)")
        
          //获得结果
            let data = ["麦迪","科比","奥胖"]
            
            //获取一些结果,然后主队列回调
           DispatchQueue.main.async(execute: { 
            
            print("主线程更新UI\(Thread.current)")
         
            completion(data)
           
           })
        
        }
        
    }

相关文章

  • Swift闭包简单入门

    前言:就像OC中的block一样,Swift中的闭包也把我搞得晕头转向的(人太笨)趁着失业,好好总结总结来年再战 ...

  • 9 闭包——《Swift3.0从入门到出家》

    9 闭包——《Swift3.0从入门到出家》 闭包 Swift语言中可以使用一块独立代码块替代函数的定义,称独立的...

  • Swift-闭包

    Swift 闭包 函数 ()->() Swift 中的闭包和 Objective-C 中的 block 类似,闭包...

  • Swift闭包和函数

    函数在Swift中只是一种特殊的闭包,闭包在Swift语言中是一等公民,支持闭包嵌套和闭包传递。Swift中的闭包...

  • swift学习之路

    swift3.0.1官方文档下载链接 swift(一)简单值 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...

网友评论

      本文标题:Swift闭包简单入门

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