【发布时间】:2012-10-19 21:11:15
【问题描述】:
我正在使用一个 Constants.h 文件来为 URL 等资源声明大量字符串。这在过去一直工作得很好,事实上,当我编译和运行时,它仍然可以工作。
但是,尽管将它们标记为“语义问题”(听起来更像是警告),但问题导航器仍会显示错误(红色刘海),并且代码编辑器窗口也会针对以下行显示错误:
[app openBrowserWithUrl:[NSURL URLWithString: kRequestInformationURL]];
Constants.h 中的行如下所示:
static NSString * const kRequestInformationURL = @"http://www.myserver.com"; // uses SSL!
我在 Constants.h 中的所有声明都会引发警告/错误。但它仍然可以编译并运行良好!我不知道这里发生了什么,但这很烦人,因为我的项目现在显示我有很多警告/错误。
我还应该补充一点,这发生在我的一台 Mac 上的最新版本 (4.5.1) Xcode 中 而不是另一个,打开完全相同的项目文件。
我应该注意的另一件事:通常只有在编译后单击文件进行编辑时才会看到这些错误/警告。
已编辑更新:我认为我可以通过遵守更严格的常量声明来消除这些问题,正如本文所述:https://stackoverflow.com/a/539039/326398 但是所有警告(正如我之前所说,在 Xcode 中标有错误图标)马上回来了。所以谜团仍然完好无损。
【问题讨论】:
-
Xcode 不是编译器。 另外,如果它编译并运行,那么它不是错误,只是警告。
-
是的,我已经多次“清理”和“清理构建文件夹”......
-
我知道 Xcode 不是编译器,但它在问题导航器中显示编译器错误。不过,感谢您的帮助。
-
哦,我明白了。为了清楚起见,还是编辑了问题。
-
这可能确实是编译器错误或者您误解了 const 的正确性。如果两者都不是,我没有想法。 :(
标签: constants compiler-warnings