使用NSURLSession处理顺序下载

时间:2015-01-02 02:29:34

标签: ios nsurlsession

我有一个数据获取任务,我想在后台线程上执行,但需要在completionBlock中获得响应后进行其他调用。

例如:

NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithURL:requestURL completionHandler:completionBlock] resume];

任务成功提取数据并调用completionBlock后我想下载来自NSURL的其他10个资源,这些资源属于数据completionBlock的一部分。

最好是在每个请求的块中再次调用dataTaskWithURL:completionHandler:,还是在completionBlock的循环中阻止网络调用?

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,您可以在completionBlock内拨打其他电话。但是请求不应该是阻塞"而是你只是为附加数据启动额外的异步请求。如果您的模型支持,您希望它们彼此同时运行。如果您按顺序而不是同时发出后续请求,则会产生重大的性能损失。