答案 0 :(得分:10)
如果头文件具有传统的include guards,那么使用哪个并不重要,它更像是一种风格选择。如果你使用#import
代替#include
,可能会有微小的性能提升,但我怀疑它会引人注意,因为这些天大多数编译器都足够智能识别包括警卫并相应地进行优化。
另一方面,如果头文件不包含警戒,那么您应该始终使用#import
,因为#import
将确保标头只会包含一次 - 如果你不小心#include
这样的标题两次,你几乎肯定会得到大量关于重新定义等的编译器错误。
由于大多数Objective-C标头(特别是来自Objective-C运行时或Cocoa标头的标头)没有包含保护,因此在包含这些标头时应使用#import
。当包含来自第三方库的标准C库标题或标题时,您选择哪个并不重要 - 选择一种样式并保持一致。
答案 1 :(得分:6)
使用#import。优点是,如果已经包含文件,它不会“重新包含”文件。
答案 2 :(得分:5)
始终使用#import
- 它会确保相同的头文件永远不会#include
'两次。