Куда импортируется libdispatch AKA Grand Central Dispatch?
Я читаю документацию Apple по параллелизму, более конкретно по NSOperationQueue против очереди отправки.
Они говорят это:
"Очередь операций является какао-эквивалентом параллельной очереди отправки..."
Что заставило меня задуматься, если NSOperationQueue доступен через инфраструктуру Какао, как GCD доступен?
Когда я звоню dispatch_after...
почему мне не нужно #import <Cocoa/Cocoa.h>
?
Как компилятор распознает селекторы GCD?
1 ответ
Решение
Вы должны включить 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>
Заголовки какао также импортируют файл заголовка (например, NSOperation.h), поэтому в большинстве случаев вам не нужно явно импортировать файл заголовка.