首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Xcode中摆脱“未使用的变量”警告?

如何在Xcode中摆脱“未使用的变量”警告?
EN

Stack Overflow用户
提问于 2011-03-28 01:57:42
回答 9查看 60.9K关注 0票数 98

我完全理解为什么会出现未使用的变量警告。我不想在一般情况下抑制它们,因为它们在大多数情况下都非常有用。但是,请考虑以下(人为设计的)代码。

代码语言:javascript
复制
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);

Xcode报告saved是一个未使用的变量,当然它不是,我怀疑这是因为NSAssert1是一个宏。没有定义NS_BLOCK_ASSERTIONS宏,因此确定启用了Objective C断言。

虽然它不会伤害任何东西,但我发现它不整洁和恼人,我想抑制它,但我不确定如何做到这一点。将变量赋值给自身可以消除编译器警告,但如果存在这样的情况,我宁愿用“正确”的方式。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-03-28 02:06:14

我不确定在新的LLVM编译器中是否仍然支持它,但是GCC有一个“未使用”属性,您可以使用它来抑制该警告:

代码语言:javascript
复制
BOOL saved __attribute__((unused)) = [moc save:&error];

或者(以防LLVM不支持上述操作),您可以将变量声明拆分为单独的行,以保证无论宏是否展开,变量都将被“使用”:

代码语言:javascript
复制
BOOL saved = NO;
saved = [moc save:&error];
票数 109
EN

Stack Overflow用户

发布于 2012-05-14 14:40:48

使用Xcode4.3.2,并发现这似乎是有效的(较少编写)

代码语言:javascript
复制
BOOL saved __unused;
票数 108
EN

Stack Overflow用户

发布于 2011-03-28 03:35:29

在Xcode中,您可以为“未使用的变量”设置警告。转到目标的“构建设置”,并使用单词“未使用”进行筛选。

截图如下:

我建议您只为Debug更改它。这样你就不会错过你的发布版本中的任何东西。

票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5451123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档