Я новичок в Objective-C , Код шаблона, сгенерированный Xcode, содержит:
#import <Foundation/Foundation.h>
Когда я проверяю его в /System/Library/Frameworks/Foundation.framework/Headers, там есть почти 2 тысячи заголовочных файлов!
Мой вопрос - действительно простой код, который использует только NSString, почему бы не импортировать только файл NSString.h?
Влияет ли импорт всей связки платформы Foundation на производительность исполняемых файлов? Если нет, то есть ли у него какие-то преимущества?
Это не влияет на производительность, поскольку все встроенные фреймворки уже установлены на вашем устройстве и готовы к связыванию с помощью исполняемого файла.
Когда вы #import
говорите: «Я хотел бы получить доступ к функциям платформы Foundation, даже если я не использую их полностью». Это смысловое деление.
Компилятор выполнит всю необходимую оптимизацию для удаления неиспользуемых символов.
Проблема с простым импортом в NSString.h заключается в том, знаете ли вы, какие зависимости существуют для NSString. Я не знаю, да и не нужно.