闭包定义
- 定义一个闭包
- 闭包 = { (行参) -> 返回值 in // 代码实现 }
- in 用于区分函数定义和代码实现
//: 闭包 = { (行参) -> 返回值 in
// 代码实现 }
let sumFunc = { (num1 x: Int, num2 y: Int) -> Int in
return x + y
}
sumFunc(num1: 10, num2: 20)
-
闭包格式小结
闭包的使用
- 模拟在后台线程加载数据
func loadData() {
dispatch_async(dispatch_get_global_queue(0, 0), {() -> Void in print("耗时操作 (NSThread .currentThread())")
})
}
- 尾随闭包,如果闭包是最后一个参数,可以用以下写法
- 注意上下两段代码,}的位置
func loadData() { dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in
print("耗时操作 (NSThread .currentThread())")
}
}
- 闭包的简写,如果闭包中没有参数和返回值,可以省略