【发布时间】:2012-08-16 15:53:49
【问题描述】:
我的项目中有一些常量文件“Constants.h”,我将它们包含在 Prefix.pch 文件中,以供项目中的所有类使用。它们只包含一堆#define 语句。
我的类无法识别这些常量(没有自动完成功能),并且每次使用它们时 Xcode 都会给我“未声明的标识符”错误。但是,当我运行项目时,一切正常(设置为忽略错误)。
有什么办法可以消除这些警告吗? #pragma 在前缀文件中忽略它们还是什么?我尝试了很多选项,包括在构建设置中将“预编译前缀标头”设置为 NO。
有什么想法吗?
编辑: 我试过删除派生数据和清理/删除构建文件夹无济于事。
值得注意的是,我的项目中有 3 个目标,并且该项目中有另一个项目。
此外,一些#imports 导入普通类。就像 UIFont 上的类别扩展和 Analytics 类。这会影响它吗?
【问题讨论】:
-
“未声明的标识符”是错误,而不是警告。您不能使用未声明的标识符编译和运行程序。
-
已编辑以纠正该问题,我的意思是错误。我将它设置为忽略错误,因此程序仍然可以编译并运行良好,xcode 只是在我编辑代码时给我这些错误。
-
而且它在构建后无法立即识别它们,通常只有当我在使用这些常量的类中时它才会开始看到“错误”
-
您究竟设置了什么“忽略错误”?您不能编译和运行包含错误的程序。
-
“回答你自己的问题”比编辑问题本身并将其标记为“已解决”要好,这样它就不会出现在“未回答的问题”列表中。
标签: objective-c xcode constants prefix undeclared-identifier