【发布时间】:2013-07-07 12:23:39
【问题描述】:
我从以下代码中收到“未使用的参数 'testString'”警告。但我正在使用 testString 来记录。那么它怎么没用呢?
- (void)getString:(NSString *)testString {
ICELogInfo(@"%@", testString);
}
ICELogInfo 是 NSLog 的宏。
#define ICELogInfo(fmt, ...) LOG_FORMAT(fmt, @"INFO", ##__VA_ARGS__)
#define LOG_FORMAT(fmt, lvl, ...) LOG_FORMAT_NO_LOCATION(fmt, lvl, ##__VA_ARGS__)
#define LOG_FORMAT_NO_LOCATION(fmt, lvl, ...) NSLog((@"%@ " fmt), lvl, ##__VA_ARGS__)
我做错了什么?
【问题讨论】:
-
当你运行它并出现警告时它会记录什么?
-
它将记录“INFO ”。记录部分工作正常。我对输出没有任何问题。就是那个警告。
-
难道ICELogInfo在非DEBUG的情况下被定义为“无”?
-
@AmitVyawahare:可能是上面的定义只在
#ifdef DEBUG的情况下使用,否则ICELogInfo被定义为一个空宏。
标签: ios objective-c xcode macros clang