2010-07-13 53 views
4

使用iPhone SDK的4.0我想从这个宏删除函数名的东西,但我在努力简单的NSLog宏观

#define LOG(fmt, ...) NSLog((@"%s " fmt), __PRETTY_FUNCTION__,##__VA_ARGS__) 

我试图

#define LOG(fmt, ...) NSLog((@"%s " fmt), ##__VA_ARGS__) 

但这会导致崩溃!

我希望能够登录这样

LOG("text to log"); 
LOG("text to log with param %d", param); etc 
+0

使用这些[这里](http://stackoverflow.com/questions/969130/nslog-tips-and-tricks/969291#错误的可能性969291) – progrmr 2010-07-13 13:24:58

回答

6

为什么就不能这样呢?

#define LOG(fmt, ...) NSLog(fmt, ##__VA_ARGS__) 
+0

谢谢你做到了 – tech74 2010-07-13 12:38:40

1

我想你想这

#define Log(fmt, ...) NSLog(fmt, ##__VA_ARGS__); 
+0

已经试过,它不工作,因为我已经有我所有的日志语句 LOG(“some text”);即没有@ – tech74 2010-07-13 12:23:44

+1

查找LOG(“替换LOG(@” – Ian1971 2010-07-13 13:55:41