如果想让NSURLSession异步请求数据,数据完全返回以后再进行操作。
因为NSURLSession是默认开辟线程的,所以网络请求和它后面执行的语句是并行的,如果想达到串行的效果可以使用GCD的信号量。
1.请求数据前:
//利用信号量确定执行顺序,值为0
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
2.在请求代码块里:
dispatch_semaphore_signal(semaphore);
3.在请求数据以后:
dispatch_semaphore_wait<