Objective c “忽略”;未使用的实体问题:未使用的变量;在一个文件中

Objective c “忽略”;未使用的实体问题:未使用的变量;在一个文件中,objective-c,xcode,cocoa,warnings,llvm,Objective C,Xcode,Cocoa,Warnings,Llvm,我想在我的Xcode项目的一个文件中消除这个编译器警告。有办法做到这一点吗?您可以使用如下方式关闭叮当声中的特定警告: #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-variable" // Insert code here #pragma clang diagnostic pop 推送和pop之间的代码不会产生未使用的变量警告 第二种选择,甚至更具针对性,是用“未使用”标记特定变量。Cla

我想在我的Xcode项目的一个文件中消除这个编译器警告。有办法做到这一点吗?

您可以使用如下方式关闭叮当声中的特定警告:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"

// Insert code here

#pragma clang diagnostic pop
推送和pop之间的代码不会产生未使用的变量警告

第二种选择,甚至更具针对性,是用“未使用”标记特定变量。Clang尊重GCC已建立的属性,不会发出关于该变量的警告:

__attribute__((unused))
NSString * thisStringIsJustForFun = @"It's only work if somebody makes you do it.";

酷!:-)你知道如何摆脱“死店”吗?我尝试了#pragma-clang-diagnostic-ignored“-Wunused-value”但没有成功…抱歉,我不确定该值的标志是什么,或者是否存在。据推测,
-fdiagnostic show选项
将给出可用诊断开关的列表。这太棒了。我将它与
-Wunused函数一起使用
。。。在生产代码中使用此代码是否有任何注意事项等?我发现Xcode不能准确地报告未使用的
static void
C函数,但也许我声明它们是错误的,或者在错误的地方。。。我在
@接口
声明之前的
.h
文件中找到了它们。思想?非常感谢。据我所知,@Yar,这完全等同于向编译器传递一个
-Wwhatever
标志,只是更具针对性,所以我不知道有什么特别的警告。GCC具有类似的功能;这对叮当声来说并不特别。将一个
静态
-ly链接的函数放入一个标题中对我来说没有什么意义,但我不知道Clang如何处理这样一个函数的未使用警告,不管它定义在哪里。我认为它不应该是
静态
,那么,@Yar;只需在头文件中声明它,并在实现文件中定义它<代码>静态用于不需要对多个文件可见的函数。