我是 Objective-C 的新手。 Xcode生成的模板代码包含:
#import <Foundation/Foundation.h>
当我在/System/Library/Frameworks/Foundation.framework/Headers 查看时,有将近 2000 个头文件!
我的问题是,对于仅使用 NSString 的非常简单的代码,为什么不只导入 NSString.h 文件?
导入一大堆Foundation框架会影响可执行文件的性能吗?如果没有,它有什么好处吗?
最佳答案
它不会影响性能,因为内置框架都已安装在您的设备上,已经准备好与您的可执行文件链接。
你在说什么 #import <Foundation/Foundation.h>
是“我想访问 Foundation 框架的功能,即使我不使用它”。它是一种语义划分。
编译器将进行所有需要进行的优化,以丢弃未使用的符号。
只是在 NSString.h 上导入的问题是你知道 NSString 有哪些依赖项。我不知道,也不需要。
关于objective-c - 为什么一个简单的程序导入 <Foundation/Foundation.h> 而不是单独的头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3487285/