如何禁用"本地声明'foo'隐藏实例变量"警告?

ite*_*ter 13 xcode llvm

我明白警告说的是什么.这正是范围规则的工作原理.我很欣赏有些人想要一个保姆.我不.如何禁用此警告?

Rya*_*anR 6

您无法在当前版本的XCode中禁用此警告.它没有构建设置,也没有警告ID,您可以使用它将标志传递给编译器以告诉它退出抱怨.

为了将来参考,您可以通过转到Log Navigator找到该警告ID,单击出现警告的最新版本,向下钻取日志以找到"编译"任务显示带有感叹号的点和单击"更多详细信息"按钮,该按钮看起来像一个带有5条水平线的灰色标注.您将看到详细列出的警告/错误,如果有警告ID,它将显示在详细说明黄色警告的行上.至少,这就是我在Apple的一位编译工程师所说的话.我还没有看到一个警告,我实际上要禁用日志中出现ID.

文件中的错误报告与苹果,告诉他们你想要更多的选择,XCode中禁用警告,并明确列出这一项.


And*_*ael 6

在Xcode 4.4中,可以通过转到构建设置"Other Warning Flags"并设置值"-Wno-shadow-ivar"来禁用它.


jab*_*jab 5

您正在寻找的警告名称是"shadow-ivar".它出现在Xcode 4.3中的日志中warning: local declaration of 'foo' hides instance variable [-Wshadow-ivar].

我仍然没有在项目的Build Settings列表中看到它,但是#pragma clang diagnostic ignored "-Wshadow-ivar"它会一次在一个文件中处理它.我实际上想为特定功能关闭它然后再打开它.这样它就不再唠叨我,我决定不在乎,但会在新的代码中再次警告我.