【问题标题】:Can't call my #define variable无法调用我的#define 变量
【发布时间】:2014-08-18 11:40:24
【问题描述】:

我刚开始使用#define 选项,所以我在global.h 文件中定义了一些变量。

#define GOLFER_DATA_NAME  @"name"
#define GOLFER_DATA_UNION  @"union"
#define GOLFER_DATA_GENDER  @"gender"
#define GOLFER_DATA_JUNIOR  @"junior"
#define GOLFER_DATA_MEMNO  @"memno"
#define GOLFER_DATA_SEARCHMODE  @"SearchMode"
#define GOLFER_DATA_EMAIL  @"E-mail"

但我无法在代码中的任何位置访问 GOLFER_DATA_NAMEGOLFER_DATA_UNION。我确定我错过了什么,但是什么?非常感谢任何帮助。

【问题讨论】:

  • #import "global.h"了吗?
  • 是的,但它没有自动识别我的 global.h 文件?但我编译后工作了
  • @user2408952 你不能?为什么不,你得到什么错误?发布整个文件和所有相关的错误消息!
  • 如果您不以某种方式将其导入当前编译单元,编译器应该如何知道文件中的任何内容?请注意,您可能已将其导入预编译的标头中,或者间接通过您拉取的另一个标头导入,很难用您提供的信息来判断。但是您的其他项目确实拉入标题以便您能够使用它。
  • @nhgrif 太好了...现在解释您的评论很有趣...

标签: objective-c c-preprocessor


【解决方案1】:

如果您要在预编译的头文件 (.pch) 中导入文件,则不需要在该项目的任何其他文件中重新导入它(尽管它不会造成伤害,并且可能有助于未来的可读性)。

假设 Xcode,有时当您在项目中创建新文件时,它可能不会立即与项目的其余部分完全同步。要解决此问题,您可以尝试保存文件 (Cmd+S)、清理项目 (Cmd+Shift+K) 或构建项目 (Cmd+B)。在此之后,导入应该可以正常工作。

这类似于您创建了一个新文件,但无法将其导入另一个文件或无法从界面生成器链接到该文件。通常只需一个快速的 Cmd+S 保存就可以解决我的问题。

【讨论】:

    猜你喜欢
    • 2011-12-30
    • 2012-01-24
    • 2022-11-24
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多