【发布时间】:2023-03-09 15:12:02
【问题描述】:
我有一个奇怪的问题,可能是一个错误。我的 NSLog 语句已完全停止工作,即使在视图加载、应用程序完成启动等情况下它们也不会打印。它们都变成了棕色(与 xcode 中的编译指示标记相同)并且它们都有一个警告说'表达式结果没用过'。有没有人见过这个或知道该怎么做?我是否以某种奇怪的模式运行?我正在运行 xcode 4.0.2。
非常感谢
朱尔斯
【问题讨论】:
-
您是否尝试过关闭并重新打开 Xcode?它有时会生气......
-
xcode 4.0.2 确实有点错误......但无论如何,你确定它没有在某处重新定义吗?您可以尝试 cmd+单击 NSLog 以查看它是否会导致您进入任何“非标准”定义...
-
试过重启xcode,重启机器,也没有非标准定义。我很困惑?
-
我不知道发生了什么,但这里有一些想法。执行 Edit > Find in Workspace (⇧⌘F) 并查找
#define NSLog以查看 NSLog 是否在其他地方重新定义。 NSLog 的 XCode 控制台部分只是一个fprintf,没有理由停止工作,除非它被重新定义或使用freopen重定向。expression result unused部分的意思是它所说的,一个常见的原因是使用类似*var++而不是(*var)++。 -
我认为它不应该存在(除非它现在是 xcode 中代码模板的一部分?),但无论如何我猜测目标是当代码投入生产时,如果您留下任何 NSLog 调用,它们基本上会被删除(因为这就是将 NSLog 定义为“无”的作用)。就我个人而言,我更喜欢使用自己的日志宏并通过调试配置中的调试预处理器宏来控制它。见:iphoneincubator.com/blog/debugging/…