<AppName>.pch file usage

谁都会走 提交于 2019-12-03 13:34:08

问题


What is the importance of .pch file and what is the significance of"#ifdef OBJC"?

Also, where do we define parameters like "#ifdef IS_PRODUCTION" which are checked in .pch file.


回答1:


.pch is a Pre-Compile Header.

In the C and C++ programming languages, a header file is a file whose text may be automatically included in another source file by the C preprocessor, usually specified by the use of compiler directives in the source file.

#ifdef OBJC lets the compiler know that the code is Objective-C.

#ifdef IS_PRODUCTION is something you have defined on your own, a directive telling the compiler to do something only if this is defined, most-likely something for a PRODUCTION build.




回答2:


The .pch file allows you to avoid importing common files like UIKit.h and Foundation.h. If you have those files imported in the .pch, your own classes don't need to import them.

The significance of #ifdef OBJC is so that you don't import headers containing objective-c code if you don't have the compiler set to build objective c code (hence avoiding lots of compiler errors).

You define parameters such as IS_PRODUCTION inside the target's build settings. I do it usually in "other C flags".



来源:https://stackoverflow.com/questions/5033666/appname-pch-file-usage

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!