Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c #包括或#导入<;objc/runtime.h>;?_Objective C_C_Ios_Import_Include - Fatal编程技术网

Objective c #包括或#导入<;objc/runtime.h>;?

Objective c #包括或#导入<;objc/runtime.h>;?,objective-c,c,ios,import,include,Objective C,C,Ios,Import,Include,对于iPhone应用程序,我应该包括还是导入,为什么 我见过两种方法,例如,&。使用#导入。其优点是,如果文件已经包含,则不会“重新包含”它们。始终使用\import-它将确保相同的头文件不会包含两次。如果头文件具有传统格式,则使用哪种格式并不重要,更重要的是风格选择。如果您使用#import而不是#include,可能会有一个小小的性能提升,但我怀疑这会是显而易见的,因为现在大多数编译器都足够聪明,能够识别include-guard并相应地进行优化 另一方面,如果头文件没有包含保护,那么您应该

对于iPhone应用程序,我应该包括还是导入,为什么


我见过两种方法,例如,&。

使用#导入。其优点是,如果文件已经包含,则不会“重新包含”它们。

始终使用
\import
-它将确保相同的头文件不会包含两次。

如果头文件具有传统格式,则使用哪种格式并不重要,更重要的是风格选择。如果您使用
#import
而不是
#include
,可能会有一个小小的性能提升,但我怀疑这会是显而易见的,因为现在大多数编译器都足够聪明,能够识别include-guard并相应地进行优化

另一方面,如果头文件没有包含保护,那么您应该始终使用
#import
,因为
#import
将确保头文件只包含一次——如果您意外地将这样的头文件包含两次,您几乎肯定会遇到大量关于重新定义等的编译器错误

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