我有这行代码:
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_CONCURRENT, 0);
我收到错误
无法使用类型的参数列表调用dispatch_get_global_queue (dispatch_queue_atr_t,Int)
一定是我想念的东西......
更新
当我使用xcode codeinsight / dropdown建议输入内容时,建议使用dispatch_queue_attr_t类型的DISPATCH_QUEUE_CONCURRENT - 但是,当进入代码时,我可以(现在)看到它预期的参数很长。
我很想获得一个使用多个线程的队列,IO任务可以分组。 (即我不希望o"停止"队列等待下载一些文件。)我在这里读到了:
其中提到了DISPATCH_QUEUE_CONCURRENT - 但是,我认为这仅用于创建自己的队列时 - 我原本没有意识到这一点
答案 0 :(得分:2)
应该是
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
所有全局队列
#define DISPATCH_QUEUE_PRIORITY_HIGH 2
#define DISPATCH_QUEUE_PRIORITY_DEFAULT 0
#define DISPATCH_QUEUE_PRIORITY_LOW (-2)
#define DISPATCH_QUEUE_PRIORITY_BACKGROUND INT16_MIN
答案 1 :(得分:2)
dispatch_get_global_queue
将long
作为第一个参数,而不是dispatch_queue_attr_t
作为NSObject。
dispatch_queue_t dispatch_get_global_queue( long identifier, unsigned long flags);
如文档中所述,您可以指定Check This Image值,或者如果您的iOS版开发> = 8.0,则可以使用QOS_CLASS_USER_INTERACTIVE, QOS_CLASS_USER_INITIATED, QOS_CLASS_UTILITY, or QOS_CLASS_BACKGROUND
答案 2 :(得分:1)
使用此类 dispatch_queue_priority_t
中的任何一种DISPATCH_QUEUE_PRIORITY_HIGH,
DISPATCH_QUEUE_PRIORITY_DEFAULT,
DISPATCH_QUEUE_PRIORITY_LOW,
DISPATCH_QUEUE_PRIORITY_BACKGROUND
有关队列的更多信息:
参考http://www.appcoda.com/ios-concurrency/
希望它会对你有所帮助:)。