#include或#import <objc/runtime.h>?

ma1*_*w28 5 c import objective-c include ios

对于iPhone应用程序,我应该#include还是#import,为什么?

我已经看到它做了两种方式,例如#import&#include.

Ada*_*eld 10

如果头文件有传统的包含防护,那么你使用哪个并不重要,它更像是一种风格选择.如果使用而不是,可能会有很小的性能提升,但我怀疑它会引人注意,因为这些天大多数编译器都足够智能识别包括警卫并相应地进行优化.#import#include

如果,另一方面,头文件就不能有包括警卫,那么你应该经常使用#import,因为#import将确保头只会被包含一次-如果你不小心#include这样的头两次,你几乎肯定会得到一个洪水关于重新定义等的编译器错误

由于大多数Objective-C标头(特别是来自Objective-C运行时或Cocoa标头的标头)没有包含保护,因此#import在包含这些标头时应该使用它们.当包含来自第三方库的标准C库标题或标题时,您选择哪个并不重要 - 选择一种样式并保持一致.


pic*_*ick 6

使用#import.优点是,如果已经包含文件,它不会"重新包含"文件.


Ash*_*row 5

始终使用#import- 它将确保相同的头文件永远不会#include两次.