【问题标题】:ObjC - Problems with using an NSLog replacement?ObjC - 使用 NSLog 替换的问题?
【发布时间】:2012-03-23 19:15:28
【问题描述】:

对于编程来说相对较新——想想 Kochan 的 Objective-C 编程,第 15 章——我想知道是否有理由说明使用 NSLog 是一个坏主意——尤其是对于新程序员来说?替换如下:

#define MGLog(format, ...) CFShow([NSString stringWithFormat:\
    format, ## __VA_ARGS__])

然后调用如下:

MGLog(@"Yo' mama wears combat boots.");

使用它来学习如何管理字符串、构建一个 rolodex 程序会更干净,就像他让我做的那样,但如果有缺点,我不想养成这样做的习惯。感谢您的帮助,伙计们。

顺便说一句,如果重要的话,我正在使用 XCode 4。

【问题讨论】:

    标签: objective-c cocoa debugging nslog


    【解决方案1】:

    嗯,绝对没有问题

    日志功能的目的是为您提供尽可能多(有用的)信息。

    如果你认为使用这个版本的 NSLog 进行调试对你更有帮助,那怎么可能是错的呢?


    注意:你对 Objective-C/Cocoa 程序的参与度越高,你就越有可能设置一个或另一个日志函数(也许,你会写一个以满足您的特定需求)。

    这是我最常用的一个:

    #define _LOG(prefixch, fmt, ...) \
          NSLog((NSString*)(CFSTR("%c [%s:%d] " fmt)), prefixch, \
                __SRC_FILENAME__, __LINE__, ##__VA_ARGS__)
    

    它显示了我们所在的 FILE、我们所在的 LINE 以及我可能需要的任何其他内容...

    【讨论】:

    • 哇,我还有很长的路要走。这一切在我看来都是希腊式的,但我一定会检查出来的!我只是想确定 NSLog 没有一些我自己还无法弄清楚的优势。非常感谢您的快速回复! :)
    猜你喜欢
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 2013-06-30
    • 2012-03-26
    相关资源
    最近更新 更多