您正在尝试使用预编译的头文件来“加速编译”。Xcode 有一个名为YourProject_Prefix.pch
. 您可以在其中包含您喜欢的任意数量的头文件。
我的问题是,你如何选择哪些头文件应该进入你的 PCH? 你应该把所有的头文件都扔到那里,还是实际上不是最佳的?
您正在尝试使用预编译的头文件来“加速编译”。Xcode 有一个名为YourProject_Prefix.pch
. 您可以在其中包含您喜欢的任意数量的头文件。
我的问题是,你如何选择哪些头文件应该进入你的 PCH? 你应该把所有的头文件都扔到那里,还是实际上不是最佳的?
默认情况下,pch 文件将包含在您的所有源文件中。
这意味着您实际上应该只将或多或少全局或永远不会更改的头文件放在那里。我相信将所有头文件放在那里会减慢编译速度,因为每次更改一个头文件都会导致项目中的所有其他文件都必须重新编译。(我没有对此进行测试或研究)
这是我的一个项目的示例:
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#import "Errors.h"
#import "Localization.h"
#import "Logging.h"
#endif
此外,对有关 C++ 的链接评论持保留态度。C++ 使用模板和诸如此类的头文件,使编译花费的时间比你在 Objective-c 中看到的要长得多。在objective-c中,你可能只有类型和接口,而不是在头文件中实现。
只需在此处导入您的头文件,如下所示。
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "YourHeaderFile.h"
#endif
预编译的标头,尤其是在构建您的应用程序期间,可能非常有用。.pch 文件中的标头仅在第一次编译,并且仅在标头将来更改时才编译。如果您的应用程序导入了许多不会更改的框架/标头;这可以加速构建(编译),因为编译器将使用 .pch 而不是每次编译时编译每个导入的框架/类。