pwo*_*sdh 9 objective-c grand-central-dispatch ios nsurlsession
我正在设计一个使用NSURLSession的应用程序,并考虑将它放在与Grand Central Dispatch不同的线程中,但如果NSURLSession在后台自动执行此操作,那么我不必使用GCD,对吗?
换句话说,NSURLSession会在后台自动使用Grand Central Dispatch,所以我们不必担心吗?
Dun*_*n C 16
是,
NSURLSession在后台线程中完成它的工作.下载总是在后台线程上进行.
没有理由在GCD调用中包装调用NSURLSession(或URLSession在Swift 3/Swift 4中)的代码.
您可以通过在delegateQueue参数中传递给init方法的队列来控制其完成方法是否在后台线程上执行.如果传入nil,它会创建一个(后台线程)串行操作队列,在其中调用完成方法.如果你传入,NSOperationQueue.mainQueue()那么你的完成委托方法将在主线程上调用,你不必在dispatch_async()调用主线程时包装UI调用.
| 归档时间: |
|
| 查看次数: |
4509 次 |
| 最近记录: |