Форвардные объявления Objective-C против #imports

Возможный дубликат:
@class vs. #import

В Objective-C, каковы лучшие практики использования форвардных объявлений (классов или протоколов) по сравнению с #import-ing файлами? И почему вообще рекомендуются форвардные объявления, если #import гарантирует, что ни один файл не будет включен более одного раза? В частности, я думаю о разработке приложений для iOS, но полагаю, что это применимо к Objective-C в целом.


person jrdioko    schedule 20.05.2011    source источник


Ответы (1)


Мое практическое правило: если предварительного объявления достаточно, я использую его. В противном случае я импортирую полное объявление с #import.

В основном это связано с моим опытом работы с большими проектами, где неосторожное использование #import (или #include) может легко привести к ситуации, когда компилятор должен скомпилировать более миллиона строк кода для каждого файла, не являющегося заголовком, и где незначительные изменения в одном Заголовочный файл вызывает массу перекомпиляции. Как следствие, компиляция кода занимает много времени.

person Codo    schedule 20.05.2011