Swift3.0学习--GCD和尾随闭包

GCD

  • 获取队列
1
2
3
4
5
6
7
8
//Swift 获取全局队列
DispatchQueue.global()
//OC 获取全局队列
dispatch_get_global_queue(long identifier, unsigned long flags)
//Swift 获取主队列
DispatchQueue.main
//OC 获取主队列
dispatch_get_main_queue();
  • 获取线程
1
2
3
4
//OC
[NSThread currentThread];
//Swift 去掉了NS前缀
Thread.current

尾随闭包

  • 定义

当函数的最后一个参数是闭包,那么函数的参数可以提前结束,最后一个参数直接使用{}来包装闭包的代码

1
2
3
4
5
6
//示例
DispatchQueue.main.async(execute: () -> Void)
//因为只有一个参数,那么就是最后一个参数,参数名是execute,参数类型是一个闭包,所以可以变为:
DispatchQueue.main.async{
} //现在的Swift版本可以直接敲出来

利用闭包传递参数

  • 原因

```

```q

这个人很帅<br>他什么都不想说<br>