我发现了一堆关于如何使用 NSLog 作为基础并添加PRETTY_FUNC和LINE的宏变体,但这些宏的所有变体只是将结果输出到控制台。
我想要一个宏,它可以采用具有可变数量参数的格式,添加方法的名称和调用它的行号,然后返回一个 NSString 但到目前为止,编译器总是抱怨我调用它的地方. 我的最新版本如下:
#define FileLog(format, ...) {\
return [NSString stringWithFormat:@"\n %s [Line %d] \n %@",
__PRETTY_FUNCTION__,
__LINE__,
[NSString stringWithFormat:(format), ##__VA_ARGS__]];\
}
每次我从代码中调用它时,编译器都会生成以下错误之一:
error: expected expression before '{' token
我不想为此编写日志类或使用框架。必须有办法用宏来做到这一点?任何人?
提前致谢!