我正在使用我为GCD找到的相当不错的tutotial,它向您展示了如何声明一个新的调度队列 .
Grand Central Dispatch使用队列进行操作 . 队列是C typedef:dispatch_queue_t . 为了获得一个新的全局队列,我们调用dispatch_get_global_queue(),它接受两个参数:一个long用于优先级,一个unsigned long用于选项,这是未使用的,所以我们将传递0ul . 以下是我们获得高优先级队列的方法:
在它中它表示将0ul作为参数传递给它
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
我希望有人可以向我解释一下0ul是什么?为什么包含它?
1 回答
它只是0而ul告诉编译器你希望它是一个与函数签名匹配的无符号长整数 .
dispatch_queue_t dispatch_get_global_queue(长优先级,无符号长标志);
如果你不添加ul,0将被视为整数,这可能会导致编译器警告 .
请查看此处的文档 .
https://developer.apple.com/library/mac/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html