#import在Objective-C上的位置

时间:2011-09-28 04:31:34

标签: objective-c iphone-sdk-4.1

我的项目规模不断扩大,我对#import头文件应该放在哪里感到困惑。

我可以在3个主要位置导入标题:

  1. .pch文件(前缀)
  2. .h文件(标题)
  3. .m文件(实现)
  4. 我不关心编译器是否需要更多时间来编译文件,我所关心的是最终产品尽可能快并使用最少的内存。

    所以,我的问题是:

    1. 如果大多数文件需要特定标题,是否可以将其添加到.pch文件中,或者将其添加到所需文件中效率更高?
    2. 是否应在.h或.m文件中完成导入?我知道我必须将它添加到.h文件中,如果我要在那里声明它,但如果我不需要在.h文件中声明它是否存在导入导入的问题?

2 个答案:

答案 0 :(得分:1)

  1. 不,将它包含在.pch文件中是不可行的。此文件已预编译到项目中的每个模块。阅读here

  2. 阅读this question and answer

答案 1 :(得分:0)

尽可能将您的导入放入.m中。如果您在.h中使用了一个类,请使用@class转发声明,然后在您的.m中使用#import。您应该在.h中导入的唯一时间是您实现的协议或超类。