谁能告诉我为什么跟随警告我“未使用的变量变量str”?SetAccessibilityLabelForView 是一个宏。
NSString *str = [NSString stringWithFormat:dynString, index];
SetAccessibilityLabelForView(myView, str);
dynamicString 在单例类中设置,例如"dynamic%d"
.
宏:
#if RUN_TESTS
#define SetAccessibilityLabelForView(view, label) view.accessibilityLabel = label
#else
#define SetAccessibilityLabelForView(view, label)
#endif
当 RUN_TESTS 为真或假时,两种情况都会出现警告,但如果我删除了 else 部分,那么警告就会消失!
我曾尝试使用以下来摆脱警告,
SetAccessibilityLabelForView(myView, [NSString stringWithFormat:dynString, index])
这给了我错误:“为类似函数的宏调用提供了太多参数”!
然后我将宏更改为以下,
#if RUN_TESTS
#define SetAccessibilityLabelForView(view, label, ...) view.accessibilityLabel = label
#else
#define SetAccessibilityLabelForView(view, label, ...)
#endif
现在,当 RUN_TESTS 为 FALSE 时,同一行有效,但在 RUN_TESTS 为 TRUE 时给出错误“Expected ']'”!呸!!
有人可以在这里帮助我吗?我想让宏对这两种情况都有效,但只想在 RUN_TESTS 为 FALSE 时忽略宏生成的行。