Iphone 有没有办法清除NSLog输出?

Iphone 有没有办法清除NSLog输出?,iphone,nslog,Iphone,Nslog,在过去的几个小时里,我一直在谷歌上搜索,寻找是否有任何方法可以使用代码清除NSLog输出 就像c中的clrsc()一样。因此,如果我们试图打印我们最想关注的内容,并且有大量的日志打印,我们可以将代码放在那里,并将我们的愿望日志放在顶部,以便于搜索。这可以通过在我的NSLog行上放置断点,然后单击清除控制台来完成。但问题是,有没有一种方法可以通过编程实现这一点 我发现很少有关于堆栈溢出的问题,但我对答案不满意,比如说我可以在发布模式下禁用日志等等 或者我可以使用DLog、ALog或ULog作为要求

在过去的几个小时里,我一直在谷歌上搜索,寻找是否有任何方法可以使用代码清除NSLog输出

就像c中的
clrsc()
一样。因此,如果我们试图打印我们最想关注的内容,并且有大量的日志打印,我们可以将代码放在那里,并将我们的愿望日志放在顶部,以便于搜索。这可以通过在我的
NSLog
行上放置断点,然后单击
清除控制台来完成。但问题是,有没有一种方法可以通过编程实现这一点

我发现很少有关于堆栈溢出的问题,但我对答案不满意,比如说我可以在发布模式下禁用日志等等

或者我可以使用DLog、ALog或ULog作为要求,但我的问题不同

有人能帮我吗


提前感谢:)

您可以使用条件断点来模拟它。在代码中定义如下函数:

int clear_console()
{
    NSLog(@"\n\n\n\n\n\n\n\n");
}
然后,当您想要清除控制台时,只需在NSLog之前添加一个断点,该断点具有以下条件:

  • 条件:1>0
  • 操作:调试器命令
    expr(int)clear\u console()
  • 选项:评估后自动继续选中它跳过暂停

使用Xcode 4.3.2和lldb进行测试

先前的答案:

好吧,不,没有

如果您还没有这样做,您可以创建自定义宏来格式化输出以突出显示所需内容

如下定义宏:

#define CLEAR(...)          NSLog(@"\n\n\n\n\n\n") /* enough \n to "clear" the console */
#define WTF(...)            CLEAR();NSLog(@"!!!!!!!!!!!!!!");NSLog(__VA_ARGS__)
#define TRACE(__message__)  NSLog(@">>>>>>>>>>>>>>> %@ <<<<<<<<<<<<<<<<<<<", __message__)

这不是你想要的,但它几乎解决了问题。您将拥有自己的一组宏,带有自定义前缀,可在控制台输出中轻松扫描。

@madmw如您所述,这不是我想要的,但经过大量搜索后,我不得不接受这是您显示的最佳方式。非常感谢你的回答。
WTF(@"This should't be here object: %@", theObject);
...
TRACE(@"Start Encoding");
...