3

我只是想知道,在 .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) 源文件不能直接复制。

如果你们对此提供一些意见,那就太好了。

谢谢

4

2 回答 2

7

是的,你可以做到。

即使它减少了编译时间。

摘自在 Objective-C 中,在每个类中导入相同的头文件会使编译时间更长?

一般来说,新生成的 iOS 项目都带有这个功能,称为预编译头或前缀头,是一个扩展名为 .pch 的文件。

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

使用预编译头文件可能会也可能不会增加编译时间;一般来说,只要你有很多通用的头文件和/或很多源文件,它就会减少编译时间。

但是,将预编译的头文件视为大垃圾场并不一定是好的做法,因为当您可能想要强制组件之间的松散耦合时,您的编译单元可以对各种东西形成隐式依赖关系。

于 2013-03-21T05:22:19.487 回答
0

这当然是一个很好的做法,因为它减少了编译时间,并且这样做代码更易于管理。

于 2013-03-21T05:23:13.323 回答