0

我正在阅读Apple 关于 Concurrency 的文档,更具体地说是关于 NSOperationQueue 与 Dispatch Queue 的文档。

他们这样说:

“一个操作队列是一个并发调度队列的 Cocoa 等价物......”

这让我想知道,如果 NSOperationQueue 可以通过 Cocoa 框架使用,那么 GCD 是如何可用的?

当我打电话时dispatch_after...,为什么我不需要#import <Cocoa/Cocoa.h>

编译器如何识别 GCD 选择器?

4

1 回答 1

0

您需要包含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),所以在大多数情况下你不需要显式地导入头文件。

于 2015-09-02T23:40:02.353 回答