Почему простая программа импортирует вместо отдельных заголовочных файлов?

Я новичок в Objective-C , Код шаблона, сгенерированный Xcode, содержит:

#import <Foundation/Foundation.h>

Когда я проверяю его в /System/Library/Frameworks/Foundation.framework/Headers, там есть почти 2 тысячи заголовочных файлов!

Мой вопрос - действительно простой код, который использует только NSString, почему бы не импортировать только файл NSString.h?

Влияет ли импорт всей связки платформы Foundation на производительность исполняемых файлов? Если нет, то есть ли у него какие-то преимущества?

12
задан pkamb 28 June 2019 в 01:02
поделиться

1 ответ

Это не влияет на производительность, поскольку все встроенные фреймворки уже установлены на вашем устройстве и готовы к связыванию с помощью исполняемого файла.

Когда вы #import говорите: «Я хотел бы получить доступ к функциям платформы Foundation, даже если я не использую их полностью». Это смысловое деление.

Компилятор выполнит всю необходимую оптимизацию для удаления неиспользуемых символов.

Проблема с простым импортом в NSString.h заключается в том, знаете ли вы, какие зависимости существуют для NSString. Я не знаю, да и не нужно.

19
ответ дан 2 December 2019 в 18:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: