未使用的参数警告

AAV*_*AAV 7 macros xcode objective-c clang ios

我从以下代码获取"未使用的参数'testString'"警告.但我使用testString来记录.那怎么没用呢?

- (void)getString:(NSString *)testString {
          ICELogInfo(@"%@", testString);
}
Run Code Online (Sandbox Code Playgroud)

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__)
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

Geo*_*dis 6

你没有做错事.这是使用宏时的常见问题.

作为解决方法,如果要删除警告,可以使用以下代码:

- (void)getString:(NSSTring*) __unused testString {
          ICELogInfo(@"%@", testString);
}
Run Code Online (Sandbox Code Playgroud)