ObjC - 使用NSLog替换的问题?

时间:2012-03-23 19:15:28

标签: objective-c cocoa debugging nslog

相对较新的编程 - 想想Kochan编写的Objective-C编程,第15章 - 我想知道为什么这是一个坏主意 - 特别是对于新程序员? - 使用NSLog更换如下:

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

然后按如下方式调用它:

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

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

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

1 个答案:

答案 0 :(得分:3)

嗯,绝对没问题

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

如果您认为使用此版本的NSLog进行调试对您更有帮助,那么它怎么可能出错呢?


注意:您使用Objective-C / Cocoa程序越多,您设置为一个或另一个日志功能的可能性就越大(也许,你会写一个你自己适合你的特殊需要。)

这是我主要使用的那个:

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

它显示了我们所处的文件,我们所处的LINE以及我可能需要的任何其他内容......