PCH-файл будет включен во все ваши исходные файлы по умолчанию.
это означает, что вам действительно следует помещать туда только те файлы заголовков, которые являются более или менее глобальными или никогда не меняются. Я считаю, что размещение всех ваших заголовков замедлит компиляцию, потому что каждый раз, когда вы меняете один, это заставляло бы перекомпилировать каждый другой файл в вашем проекте. (Я не проверял и не исследовал это)
вот образец из одного из моих проектов:
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#import "Errors.h"
#import "Localization.h"
#import "Logging.h"
#endif
Кроме того, с недоверием отнеситесь к связанным комментариям о C ++. C ++ использует шаблоны и тому подобное, которые помещаются в файлы заголовков и делают компиляцию намного дольше, чем вы увидите в objective-c. в objective-c у вас, скорее всего, будут только типы и интерфейсы, а не реализация в заголовке.
person
Brad Allred
schedule
29.10.2013
@import UIKit;
, и он будет использовать предварительно скомпилированную базу данных, а не фактический текстовый импорт. Вы можете сделать это в отдельных файлах, что так же быстро, как и предварительная компиляция, и не добавляет импорт глобально. Что касается вашего pch-файла, добавьте заголовки, которые вряд ли изменятся. Потому что, если они все же изменят, pch снова будет предварительно скомпилирован, и вы потеряете его преимущества. - person Abizern   schedule 29.10.2013