libdispatch AKA Grand Central Dispatch 在哪里导入?
Where is libdispatch AKA Grand Central Dispatch imported?
我正在阅读 Apple's documentation on Concurrency,更具体地说,是关于 NSOperationQueue 与 Dispatch Queue 的对比。
他们这样说:
"An operation queue is the Cocoa equivalent of a concurrent dispatch
queue ..."
这让我想知道,如果 NSOperationQueue 通过 Cocoa 框架可用,那么 GCD 如何可用?
当我调用 dispatch_after...
时,为什么我不需要 #import <Cocoa/Cocoa.h>
?
编译器如何识别 GCD 选择器?
您需要包含 dispatch/dispatch.h
头文件才能使用 GCD API。
$ man dispatch
dispatch(3) BSD Library Functions Manual dispatch(3)
NAME
dispatch -- the dispatch framework
SYNOPSIS
#include <dispatch/dispatch.h>
Cocoa headers 也会导入头文件(例如,NSOperation.h),所以大多数情况下你不需要显式导入头文件。
我正在阅读 Apple's documentation on Concurrency,更具体地说,是关于 NSOperationQueue 与 Dispatch Queue 的对比。
他们这样说:
"An operation queue is the Cocoa equivalent of a concurrent dispatch queue ..."
这让我想知道,如果 NSOperationQueue 通过 Cocoa 框架可用,那么 GCD 如何可用?
当我调用 dispatch_after...
时,为什么我不需要 #import <Cocoa/Cocoa.h>
?
编译器如何识别 GCD 选择器?
您需要包含 dispatch/dispatch.h
头文件才能使用 GCD API。
$ man dispatch
dispatch(3) BSD Library Functions Manual dispatch(3)
NAME
dispatch -- the dispatch framework
SYNOPSIS
#include <dispatch/dispatch.h>
Cocoa headers 也会导入头文件(例如,NSOperation.h),所以大多数情况下你不需要显式导入头文件。