15
接下來是最後一個問題:Log method name in Obj-C。我只是想知道是否有辦法打印出變量名稱。例如:打印出變量名稱objective-C
NSString *name = "vodkhang";
NCLog(@"%@", name);
,我希望輸出應該是:
name: vodkhang
只是爲了總結以前的帖子,目前,我可以打印出的類名,方法名和行號時我叫
NCLog(@"Hello World");
<ApplicationDelegate:applicationDidFinishLaunching:10>Hello world
與
#define NCLog(s, ...) NSLog(@"<%@:%d> %@", __FUNCTION__, __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__])
一般原理是,當在'#define'的主體內部放置一個'#'時,預處理器用傳遞給宏的* exact *表達式的C字符串替換它。當你傳遞一個變量名時,你會得到這個名字。如果您傳遞一個表達式,它將完整地重現該表達式,而不是評估結果。 – 2010-05-13 04:56:43
@奎因:我明白了。感謝那 – vodkhang 2010-05-14 03:54:54