2012-05-21 67 views
1

我經常這樣做了很多我們能把印刷可變進宏

CLog(@"someNew.Title %@", someNew.Title); //Working 
    CLog (@"_currentBusiness.managedObjectContext %@",_currentBusiness.managedObjectContext); 
    CLog (@"someNew.managedObjectContext %@",someNew.managedObjectContext); 
    CLog (@"[ThreadClass managedObjectContext] %@",[ThreadClass managedObjectContext]); 
    CLog (@"UIAppDelegate.managedObjectContext %@",UIAppDelegate.managedObjectContext); 

基本上我做

CLog (@"VariableName %@", VariableName) 

有沒有辦法把它變成一個宏?

回答

3

這應該工作 - 這樣定義宏:

#define CLOG(x) CLog(@#x " %@", x) 

,然後調用它像這樣:

CLOG(someNew.Title); 
+0

你不覺得你需要一個@「#X,而不是@# x或者#x是否變成了「someNew.Title」而不是 –

+0

你試過嗎?注意'#'是預處理器*字符串化*運算符 –

+1

它的工作原理完美,雖然我不知道如何。工作仍然和+1 –