有些东西我根本不明白,因为我一辈子都无法让它发挥作用。我想创建一个扩展NSLog(NSString *format, ...)
. 这是我想出的:
NSLogExtensions.h
#define DebugLog(debugMode, format, ...) MyDebugLog(debugMode, [[NSString stringWithFormat:@"<%@> (Line %d): ", NSStringFromClass([self class]), __LINE__] stringByAppendingString:format], ##__VA_ARGS__)
@interface NSLogExtensions : NSObject
@end
NSLogExtensions.m
#import "NSLogExtensions.h"
@implementation NSLogExtensions
void MyDebugLog(bool debugMode, NSString *format, ...) {
va_list(argumentList);
va_start(argumentList, format);
if (debugMode) {
NSLogv(format, argumentList);
}
va_end(argumentList);
}
@end
我希望能够包含 NSLogExtensions 头文件,然后能够使用宏,但我仍然收到 GCC 隐式函数声明警告。