为什么一个简单的程序导入<Foundation/Foundation.h>而不是单个头文件?

Ste*_*Hsu 12 objective-c

我是Objective-C的新手.Xcode生成的模板代码有:__CODE__.当我在/System/Library/Frameworks/Foundation.framework/Headers上查看它时,有近2千个头文件!

我的问题是,对于一个只使用NSString的非常简单的代码,为什么不直接导入NSString.h文件?

导入整个Foundation框架会影响可执行文件的性能吗?如果没有,它有一些好处吗?

War*_*ton 19

它不会影响性能,因为内置框架已经安装在您的设备上,已经准备好通过您的可执行文件进行链接.

当你#import <Foundation/Foundation.h>"我想要访问Foundation框架的功能时,即使我不使用它",你所说的是什么.它是一个语义分裂.

编译器将执行关于丢弃未使用符号所需的所有优化.

只是在NSString.h上进行导入的问题是你知道NSString的依赖关系吗?我不知道,也不需要.

  • 您不希望 NSString.h 会导入自己的依赖项吗? (2认同)