包括.pch文件中的公共头文件

时间:2013-03-21 05:18:17

标签: ios objective-c

我只是想知道,在.pch文件中包含常用/最常用的头文件是不错的做法?

例如,标题下方需要大多数文件

    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>

因此,在.pch文件中添加这些文件是不是应该有,而不是每个文件?

.pch文件

     #ifdef __OBJC__
     #import <UIKit/UIKit.h>
     #import <Foundation/Foundation.h>
     #import <MostlyUsed.h>
     #endif

我发现了一些这样的缺点, 1)依赖隐藏。 2)源文件无法直接复制。

如果你们提供一些意见,这将是很好的。

由于

2 个答案:

答案 0 :(得分:7)

是的,你可以做到。

即使它减少了编译时间。

来自In Objective-C, importing same headers in every class make compile time longer?

的摘录
  

通常,新生成的iOS项目具有此功能,   它被称为预编译头或前缀头,并且是一个文件   具有扩展名.pch。

     

你可以把你想要的所有标题都放在那里,Xcode会   在构建其他任何内容之前预编译它,并使用它进行编译   项目中的其他编译单元(例如.m文件)。

     

使用预编译头可能会也可能不会增加编译时间;在   一般来说,它减少了编译时间,只要你有很多共同点   标题和/或许多源文件。

     

然而,处理预编译并不一定是好习惯   标题就像一个大倾销场,因为你的编译单位可以形成   你可能想要的各种东西的隐含依赖   强制组件之间松散耦合。

答案 1 :(得分:0)

这当然是一种很好的做法,因为它减少了编译时间,并且通过这样做可以更容易管理代码。