我正在使用以下代码在后台下载图片:
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0)) {
//code for image download
}
但收到错误“QOS_CLASS_USER_INITIATED仅适用于ios 8”
答案 0 :(得分:0)
我认为这与以下事实有关:最近,Apple一直鼓励开发人员尽可能(和适当)切换使用dispatch_queue_t并转移到更高级别的OperationQueue类。
我确定您知道,QOS_CLASS_USER_INITIATED是您在用户启动更改时附加到调度队列的服务质量设置,因此需要以高优先级调度与之相关的操作。与OperationQueue等效的是设置QualityOfService变量:
myOperationQueue.qualityOfService = QualityOfService.userInitiated
看一下OperationQueue参考: https://developer.apple.com/reference/foundation/operationqueue
以下文章概述了如何在dispatch_queue框架内实现服务质量:
答案 1 :(得分:0)
试试这段代码:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)) {
}