我做了一个自定义日志记录类,它将某些事情记录到文件中。我试图制作一个宏,以便我可以使用我的自定义类,就像NSLog()
一样,但它似乎没有正常工作。自定义日志记录宏不接受多个参数
这里是我如何定义宏:
#define ECLog(fmt, ...) [ECLogger logText:fmt, ## __VA_ARGS__]
logText:
声明如下:
+ (void)logText:(NSString *)theString;
如果我只能传递一个参数,它工作正常。就像这样:
ECLog(@"test");
但是如果我通过另一种说法,是这样的:
ECLog(@"test %@",someString);
我得到一个错误,它只是期待一个参数。
任何想法?
您得到有关方法调用的错误,而不是宏,对不对?如何声明'logText:'? – 2012-03-21 01:44:34
是的,关于宏。我更新了我的帖子,显示了如何声明logText:。 – edc1591 2012-03-21 01:48:21