【问题标题】:How to to import headers automatically in xcode如何在 xcode 中自动导入标头
【发布时间】:2015-01-14 15:10:32
【问题描述】:

有没有什么方法可以只为整个项目导入一个公共标头一次?这个想法是放在那个标题上的#defines,它将启用/禁用功能。

我不想在每个.m 文件上写#import "common.h"

【问题讨论】:

  • 在 .pch 文件中写下你的标题...它将是整个项目的全局...
  • 问题很明确。一个通用的自动 header 用于放置 GLOBAL 定义 用于其他用途,完全不推荐。
  • @JavierCalatravaLlavería 为什么会这样?
  • 当您想使用相同的软件基础创建启用/禁用其某些功能的不同产品时,这非常有用。您有一个共同的地方来设置#defines,您不必担心导入具有#define的标头

标签: objective-c xcode header


【解决方案1】:

是的,是的。将您的公用文件添加到项目中:

然后从您的项目中编辑 .pch 文件并导入您的 common.h 文件:

#ifdef __OBJC__
...
    #import "Common.h"
#endif

最后你可以在 Common.h 中放置#defines:

#define FEATURE_A 0
#define FEATURE_B 1

您放入 Common.h 的所有内容都会自动加载到您的项目中。

【讨论】:

    【解决方案2】:

    前缀标题通常用于此目的;尽管有些人反对使用它们。

    参考:What is Prefix.pch file in Xcode?http://qualitycoding.org/precompiled-headers/

    【讨论】:

    • 我主张使用它们,只有且仅当您将它们放入全局#defines。
    【解决方案3】:

    按照 Javier 的回答,但您现在可能还需要创建和设置您的 pch 文件,因为 xcode 不再自动创建它。为此,请创建一个新文件,在 iOS 下选择其他,然后选择PCH File。将其命名为 ProjectNamePrefix.pch,其中 ProjectName 是您的项目名称。

    然后在你创建它之后,你需要去你的构建设置,搜索前缀。在Apple LLVM 6.0 - Language 部分下,您会看到一个名为Prefix Header 的部分。使您刚刚创建的文件名的值。建立,你的好。

    您在此文件中导入或定义的任何内容都将在您的所有文件中可用

    【讨论】:

      猜你喜欢
      • 2015-08-16
      • 2011-07-03
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多