重写 NSLog

作者: 某个胖子 | 来源:发表于2017-04-10 10:23 被阅读116次
    • 重写NSLog
    #if DEBUG
    #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)
    #else
    #define NSLog(FORMAT, ...) nil
    #endif
    

    使用上述宏,需要build settings的macro中DEBUG设置正确。

    • 常用输出:
    #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

        本文链接:https://www.haomeiwen.com/subject/zlcsattx.html