2010-07-13 63 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