增强版的宏定义NSLog

#define NSLog(format, ...) do {                                                                          \

fprintf(stderr, "<%s : %d> %s\n",                                          \

[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String],  \

__LINE__, __func__);                                                        \

(NSLog)((format), ##__VA_ARGS__);                                          \

fprintf(stderr, "-------\n");                                              \

} while (0)

关于宏的深入理解

其他几个增强的nslog

#define NSLogRect(rect) NSLog(@"%s x:%.4f, y:%.4f, w:%.4f, h:%.4f", #rect, rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)

#define NSLogSize(size) NSLog(@"%s w:%.4f, h:%.4f", #size, size.width, size.height)

#define NSLogPoint(point) NSLog(@"%s x:%.4f, y:%.4f", #point, point.x, point.y)

写下来以防自己以后忘记了。

你可能感兴趣的:(增强版的宏定义NSLog)