<AppName> .pch文件用法

Abh*_*nav 6 iphone cocoa pch ios

.pch文件的重要性是什么?"#ifdef OBJC " 的意义是什么?

此外,我们在哪里定义在.pch文件中检查的参数,如"#ifdef IS_PRODUCTION".

Car*_*zey 15

.pch文件允许您避免导入UIKit.h和Foundation.h等常用文件.如果您在.pch中导入了这些文件,则您自己的类不需要导入它们.

#ifdef OBJC的重要性在于,如果没有编译器集来构建目标c代码(因此避免了大量编译器错误),则不要导入包含objective-c代码的头文件.

您可以在目标的构建设置中定义诸如IS_PRODUCTION之类的参数.我通常在"其他C标志"中这样做.


Wri*_*sCS 13

.pch 是一个预编译头.

在C和C++编程语言中,头文件是一个文件,其文本可以由C预处理器自动包含在另一个源文件中,通常通过在源文件中使用编译器指令来指定.

#ifdef OBJC 让编译器知道代码是Objective-C.

#ifdef IS_PRODUCTION 是你自己定义的一个指令,它告诉编译器只有在定义了这个时才做某事,最有可能是PRODUCTION构建的东西.

  • 有点肛门保留,也许,但"#ifdef OBJC让编译器知道代码是Objective-C"是非常误导的,因为它不是"告诉"任何人,而是简单地检查ObjC是否已知/可用于编译时并确保在编译期间省略其包含的代码.10个案例中有9个案例的效果可能相同,但技术含义却截然不同.编译器不会通过`#ifdef OBJC获得更多信息,而恰恰相反.毕竟,这导致了(并且可能是关键的)代码的遗漏. (3认同)